
:root{--ink:#101010;--paper:#fff;--soft:#f5f5f4;--muted:#787878;--line:#e8e8e8;--transition:cubic-bezier(.2,.7,.18,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:70px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;font-size:16px}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid #111;outline-offset:4px}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}[hidden]{display:none!important}::selection{background:#111;color:white}.wrap{width:min(1440px,calc(100% - 112px));margin-inline:auto}.skip{position:absolute;left:-9999px;top:10px}.skip:focus{z-index:100;left:20px;background:#fff;padding:15px}
.site-header{background:#fff;position:relative;z-index:40}.header-layout{min-height:106px;display:grid;grid-template-columns:220px 1fr auto;align-items:center;gap:30px;border-bottom:1px solid var(--line)}.brand{display:block;width:185px}.brand img{width:100%;height:auto}.header-layout nav{display:flex;justify-content:center;align-items:center;gap:33px}.header-layout nav a{font-size:13px;font-weight:520;transition:opacity .2s}.header-layout nav a:hover{opacity:.52}.header-actions{display:flex;align-items:center;gap:25px}.language{display:flex;align-items:center;gap:8px;font-size:11px;color:#b2b2b2}.language button{font-size:11px;border:0;background:none;padding:8px 0;color:#9b9b9b}.language button.active{color:#111;font-weight:700}.button-outline{border:1px solid #202020;border-radius:100px;padding:14px 17px 14px 21px;display:inline-flex;align-items:center;gap:22px;white-space:nowrap;font-size:12px;transition:all .25s}.button-outline:hover{background:#111;color:#fff}.arr{font-size:21px;line-height:1;font-weight:400}
.hero{padding-top:38px}.hero-grid{display:grid;grid-template-columns:.75fr 1fr;gap:4%;align-items:stretch;min-height:615px}.hero-left{padding:37px 0 4px;display:flex;align-items:flex-start;flex-direction:column;min-width:0}.eyebrow{font-size:10px;line-height:1.3;font-weight:700;letter-spacing:.1em}.hero-left .eyebrow{display:flex;align-items:center;gap:10px;margin:1px 0 52px}.black-sq{background:#111;width:7px;height:7px}.hero h1{font-size:clamp(55px,5.5vw,91px);line-height:1.015;letter-spacing:-.079em;font-weight:560;white-space:nowrap;margin-left:-4px}.hero-lead{max-width:455px;font-size:17px;line-height:1.64;color:#686868;letter-spacing:-.016em;margin-top:35px}.hero-links{display:flex;align-items:center;flex-wrap:wrap;gap:25px;margin-top:33px}.button-black{background:#111;color:white;padding:15px 20px 15px 23px;border-radius:99px;display:inline-flex;align-items:center;gap:22px;font-size:13px;transition:transform .25s,background .25s}.button-black:hover{background:#383838;transform:translateY(-2px)}.text-link{display:inline-flex;align-items:center;gap:8px;font-size:13px;border-bottom:1px solid #888;padding-bottom:5px;transition:gap .25s}.text-link:hover{gap:15px}.hero-sidekick{display:flex;align-items:end;gap:31px;margin-top:auto;padding-top:40px}.mini-case{display:flex;align-items:center;gap:14px}.mini-case img{width:138px;height:98px;object-fit:cover;object-position:center;filter:grayscale(1);border-radius:18px 18px 22px 18px}.mini-case>div{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.tiny-label{font-size:9px;letter-spacing:.05em;color:#878787}.mini-case strong{font-size:21px;letter-spacing:-.04em;font-weight:550}.mini-case>div>span:last-child{font-size:11px;color:#858585}.round-arrow{display:grid;place-items:center;flex:none;width:65px;height:65px;border-radius:50%;background:#111;color:#fff;font-size:30px;transition:transform .25s}.round-arrow:hover{transform:rotate(45deg)}.hero-right{min-width:0;display:flex;flex-direction:column}.hero-image{position:relative;display:block;flex:1;min-height:573px;background:#101010;overflow:hidden;clip-path:url(#unused)}
.hero-image{clip-path:polygon(8% 0,100% 0,100% 100%,15% 100%,15% 86%,12% 76%,6% 70%,0 62%,0 12%);border-radius:65px 82px 65px 14px}
@supports (clip-path:path('M 0 0 L 1 1')) {.hero-image{clip-path:none;border-radius:85px 74px 82px 8px / 72px 70px 70px 8px}.hero-image:before{content:'';position:absolute;z-index:3;pointer-events:none;width:18%;height:39%;background:#fff;left:-1px;bottom:-1px;border-radius:0 80% 0 0}}
.hero-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center;transform:scale(1.025);transition:transform .9s var(--transition)}.hero-image:hover img{transform:scale(1.065)}.hero-image-tag{position:absolute;z-index:4;top:27px;left:30px;right:27px;display:flex;justify-content:space-between;align-items:flex-start;color:#fff;text-shadow:0 1px 12px #0008;font-size:10px;letter-spacing:.11em}.hero-image-tag strong{display:inline-flex;align-items:center;gap:10px;font-weight:500;font-size:11px}.hero-image-foot{display:flex;align-items:center;justify-content:space-between;margin-top:18px;font-size:10px;color:#888;letter-spacing:.04em}.hero-image-foot i{font-style:normal;color:#bfbfbf;margin:0 7px}.hero-bottomline{display:flex;justify-content:space-between;align-items:center;color:#aaa;border-bottom:1px solid var(--line);margin-top:42px;padding-bottom:19px;font-size:10px;letter-spacing:.1em}.hero-bottomline b{display:inline-block;margin-left:8px;font-size:15px;color:#333;font-weight:400}
.section-rule{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #dedede;padding-top:22px;color:#7e7e7e;font-size:10px;letter-spacing:.12em;font-weight:600}.trust{padding-top:145px;padding-bottom:140px}.trust-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:11%;margin-top:58px;align-items:center}.trust-titleline{display:flex;align-items:baseline;gap:20px}.trust-titleline strong{font-size:clamp(130px,18vw,250px);font-weight:450;line-height:.78;letter-spacing:-.115em}.trust-titleline strong span{font-size:.42em;vertical-align:top;margin-left:4px}.trust-titleline>span{font-size:17px;color:#888;max-width:140px;line-height:1.4}.trust-copy{max-width:500px}.trust-copy h2{font-size:clamp(35px,3.8vw,60px);line-height:1.13;letter-spacing:-.055em;font-weight:500;margin-bottom:23px}.trust-copy p{font-size:17px;line-height:1.7;color:#666;margin-bottom:31px}
.projects{background:#f7f7f6;padding:84px 0 115px}.projects .section-rule{border-color:#dededc}.project-intro{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-top:58px;margin-bottom:55px}.project-intro h2,.logo-title h2,.service-heading h2{font-size:clamp(56px,5.55vw,89px);line-height:1.035;letter-spacing:-.072em;font-weight:500}.pale{color:#a4a4a4}.project-intro p{font-size:16px;line-height:1.65;color:#666;max-width:340px;margin-bottom:10px}.project-filters{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #dededc;padding-top:24px;margin-bottom:28px}.filter-controls{display:flex;align-items:center;gap:9px}.filter{border:1px solid #d2d2d1;color:#555;background:transparent;border-radius:100px;padding:11px 17px;font-size:12px;transition:background .2s,color .2s}.filter small{font-size:9px;opacity:.56;margin-left:6px}.filter.active,.filter:hover{background:#111;color:#fff;border-color:#111}.project-counter{font-size:10px;letter-spacing:.11em;color:#9b9b9b}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:62px 24px}.work-card{min-width:0}.card-thumb{display:block;width:100%;border:0;background:#e7e7e7;padding:0;aspect-ratio:1.39;position:relative;overflow:hidden;border-radius:13px;text-align:left}.card-thumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .65s var(--transition)}.work-card:hover .card-thumb img{transform:scale(1.042)}.card-kti{background:#d9e3e8}.card-aiveled{background:#ece4eb}.card-biro{background:#121318}.card-pecsi{background:#32453e}.card-tags{position:absolute;top:19px;left:19px;z-index:2;display:flex;gap:6px;flex-wrap:wrap}.card-tags span{border:1px solid #ddd8;background:#fffffff2;border-radius:40px;padding:8px 12px;font-size:10px;line-height:1;color:#222}.bookmark-corner{position:absolute;right:19px;top:0;background:#141414;color:#fff;padding:12px 9px 17px;font-size:8px;font-weight:700;letter-spacing:.08em;line-height:1.4;text-align:center;clip-path:polygon(0 0,100% 0,100% 100%,50% 78%,0 100%)}.card-info{width:100%;text-align:left;border:0;background:none;display:flex;align-items:start;justify-content:space-between;padding:18px 2px 0;gap:20px}.card-info>span:first-child{display:flex;flex-direction:column;align-items:start}.card-info strong{font-size:27px;font-weight:500;letter-spacing:-.045em;line-height:1.2}.card-info small{color:#848484;font-size:13px;line-height:1.5;margin-top:5px}.card-arrow{font-size:24px;line-height:1.2;transition:transform .25s}.work-card:hover .card-arrow{transform:translate(4px,-4px)}.design-disclaimer{margin-top:66px;padding-top:22px;border-top:1px solid #dfdfdd;font-size:11px;color:#989898}
.logos{padding-top:132px;padding-bottom:135px}.logo-title{display:flex;align-items:end;justify-content:space-between;gap:40px;margin:65px 0 71px}.logo-title p{font-size:16px;color:#777;max-width:300px;line-height:1.5;margin-bottom:10px}.logo-wall{display:grid;grid-template-columns:repeat(4,1fr);gap:92px 25px;align-items:center}.logo-tile{min-height:77px;display:flex;align-items:center;justify-content:center;flex-direction:column;filter:grayscale(1);color:#353535;transition:opacity .25s,transform .25s;text-align:center}.logo-tile:hover{opacity:.58;transform:translateY(-3px)}.mark-kti strong{font-size:44px;font-weight:850;letter-spacing:-.12em;line-height:.9}.mark-kti small{font-size:8px;letter-spacing:.12em;margin-top:9px}.mark-pecsi{font-family:Georgia,serif;font-size:28px;line-height:1;letter-spacing:-.07em}.mark-pecsi strong{font-family:Arial,sans-serif;font-size:35px;letter-spacing:-.12em}.mark-wing{flex-direction:row;font-size:29px;letter-spacing:.08em;font-weight:300}.mark-wing span{font-weight:700;margin-left:6px}.mark-biro{font-family:Georgia,serif;font-size:36px;font-style:italic;line-height:1.1}.mark-biro em{font-family:Georgia,serif;font-size:25px;font-weight:400;margin-left:6px}.mark-mazsike{font-size:28px;font-weight:730;letter-spacing:.09em}.mark-szeged span{font-size:13px;letter-spacing:.24em}.mark-szeged strong{font-size:18px;letter-spacing:.035em;font-weight:600;margin-top:4px}.mark-ai{flex-direction:row;position:relative;font-size:37px;font-weight:800;letter-spacing:-.11em}.mark-ai span{font-weight:300;letter-spacing:-.07em}.mark-ai small{position:absolute;bottom:-3px;font-size:6px;font-weight:500;letter-spacing:.28em;white-space:nowrap}.mark-moricz{flex-direction:row;font-size:26px;font-weight:350;letter-spacing:.03em}.mark-moricz span{font-size:34px;font-weight:800;margin-left:3px}.logo-disclaimer{font-size:11px;color:#aaa;margin-top:83px;text-align:center}
.services{background:#101010;color:#fff;padding:91px 0 112px}.section-rule-inverted{border-color:#3c3c3c;color:#969696}.service-heading{display:flex;justify-content:space-between;align-items:end;gap:55px;margin:70px 0 55px}.service-heading .pale{color:#777}.service-heading p{font-size:17px;line-height:1.66;max-width:340px;color:#a5a5a5;margin-bottom:10px}.service-rows{border-top:1px solid #4a4a4a}.service-rows>div{min-height:128px;border-bottom:1px solid #343434;display:grid;grid-template-columns:9% 45% 1fr 28px;align-items:center;gap:20px}.service-rows>div>span:first-child{color:#858585;font-size:11px}.service-rows strong{font-weight:450;font-size:32px;letter-spacing:-.045em}.service-rows>div>span:nth-of-type(2){font-size:13px;color:#888}.service-rows b{font-size:24px;font-weight:300}
.contact{padding-top:118px}.contact-grid{display:grid;grid-template-columns:1fr .75fr;gap:12%;align-items:end;padding:78px 0 136px}.contact .eyebrow{color:#aaa;margin-bottom:22px}.contact h2{font-size:clamp(75px,9vw,142px);line-height:.94;letter-spacing:-.09em;font-weight:500}.contact-grid>div:last-child{padding-bottom:10px}.contact-grid p:not(.eyebrow){font-size:18px;max-width:420px;line-height:1.65;color:#747474;margin-bottom:28px}.contact-email{display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid #222;padding:0 0 14px;font-size:clamp(22px,2.4vw,37px);letter-spacing:-.045em;white-space:nowrap}.contact-email span{font-size:25px;transition:transform .25s}.contact-email:hover span{transform:translate(3px,-3px)}.footer{border-top:1px solid var(--line);min-height:120px;display:flex;justify-content:space-between;align-items:center;gap:20px;color:#888;font-size:11px;letter-spacing:.05em}.footer-logo{width:138px}.footer-logo img{width:100%}.footer>a:last-child:hover{color:#111}
.project-modal{border:0;border-radius:16px;padding:0;max-width:min(1050px,calc(100vw - 90px));max-height:90vh;overflow:auto;box-shadow:0 20px 100px #0003}.project-modal::backdrop{background:#000b;backdrop-filter:blur(5px)}.modal-close{position:sticky;z-index:5;float:right;top:15px;margin:15px 15px -55px 0;border:0;background:#fff;border-radius:50%;width:44px;height:44px;box-shadow:0 2px 20px #0002;font-size:16px}.modal-content{display:grid;grid-template-columns:1.35fr .65fr}.modal-image{height:560px;background:#f1f1f1;overflow:hidden}.modal-image img{width:100%;height:100%;object-fit:cover}.modal-copy{padding:65px 40px;display:flex;flex-direction:column;align-items:start;justify-content:center}.modal-copy h2{font-size:56px;letter-spacing:-.07em;font-weight:500;margin:27px 0}.modal-copy p{line-height:1.6;color:#6f6f6f;font-size:16px}.modal-notice{display:block;font-size:11px;color:#999;line-height:1.5;margin-top:30px}
@media(max-width:1320px){.wrap{width:calc(100% - 84px)}.header-layout{grid-template-columns:180px 1fr auto;gap:20px}.header-layout nav{gap:20px}.header-actions{gap:15px}.brand{width:160px}.hero-grid{grid-template-columns:.78fr 1fr;gap:2.5%}.hero h1{font-size:5.35vw}.hero-image{min-height:545px}.hero-lead{font-size:16px}.trust-titleline strong{font-size:18vw}}
@media(max-width:1080px){.header-cta{display:none}.hero-grid{min-height:540px}.hero-image{min-height:490px}.hero-left .eyebrow{margin-bottom:32px}.hero h1{font-size:5.4vw}.hero-lead{margin-top:28px}.hero-sidekick{gap:12px}.mini-case img{width:100px;height:82px}.round-arrow{width:50px;height:50px}.project-intro h2,.logo-title h2,.service-heading h2{font-size:6vw}.project-intro p{max-width:250px}.logo-wall{gap:70px 14px}}
@media(max-width:760px){.wrap{width:calc(100% - 38px)}.header-layout{min-height:84px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:16px 0}.header-layout nav{order:3;width:100%;justify-content:space-between;gap:8px}.header-layout nav a{font-size:11px}.brand{width:155px}.hero-grid{display:flex;flex-direction:column;min-height:auto}.hero-left{padding-top:24px}.hero h1{font-size:clamp(45px,9vw,71px)}.hero-sidekick{margin-top:10px;padding:28px 0}.hero-right{margin-top:15px}.hero-image{flex:auto;min-height:460px}.hero-bottomline{margin-top:20px}.trust{padding:90px 0}.trust-grid{display:block;margin-top:55px}.trust-titleline strong{font-size:24vw}.trust-copy{margin-top:50px}.project-intro,.logo-title,.service-heading{display:block}.project-intro h2,.logo-title h2,.service-heading h2{font-size:9vw}.project-intro p,.logo-title p,.service-heading p{margin-top:25px;max-width:500px}.project-filters{display:block}.filter-controls{flex-wrap:wrap}.project-counter{display:block;margin-top:20px}.work-grid{grid-template-columns:1fr;gap:38px}.logos{padding:85px 0}.logo-wall{grid-template-columns:repeat(2,1fr);gap:60px 18px}.service-rows>div{grid-template-columns:28px 1fr 25px;min-height:130px;gap:12px}.service-rows>div>span:nth-of-type(2){display:none}.service-rows strong{font-size:25px}.contact-grid{grid-template-columns:1fr;gap:40px;padding:60px 0 90px}.contact h2{font-size:14vw}.footer{flex-wrap:wrap;padding:28px 0}.modal-content{display:block}.modal-image{height:340px}.modal-copy{padding:36px 24px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
:root{--accent:#fb681a}
.site-header{background:#fff}.header-layout{min-height:92px;border-bottom:1px dashed #ddd}.brand{width:195px}.brand img,.footer-logo img{display:block}
.hero{padding-top:46px;padding-bottom:0}.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,35%) minmax(0,65%);gap:0;min-height:760px;align-items:stretch}
.hero-left{position:relative;z-index:2;display:flex;flex-direction:column;padding:70px 28px 14px 0;min-width:0;align-items:stretch}
.hero-copy{position:relative;z-index:3}
.hero-kicker{color:#777;font-size:10px;letter-spacing:.15em;font-weight:650;margin-bottom:30px}
.hero h1{margin:0 0 0 -3px;font-family:'Inter Display','Helvetica Neue',Arial,sans-serif;font-size:clamp(54px,5.0vw,79px);font-weight:660;letter-spacing:-.078em;line-height:1.04;white-space:nowrap}
.hero-lead{margin-top:28px;max-width:390px;font-size:16px;line-height:1.62;letter-spacing:-.015em;color:#686868}
.hero-links{margin-top:32px;gap:30px}.button-black{border-radius:100px;background:#080808;padding:16px 23px;gap:29px;font-size:14px;line-height:1}
.hero-link-subtle{display:inline-flex;align-items:center;gap:13px;font-size:14px;padding:11px 0;transition:gap .25s}.hero-link-subtle:hover{gap:20px}
.hero-sidekick{margin-top:auto;padding-top:50px;display:block}.mini-case-shell{border:1px dashed #d1d1d1;border-bottom:0;border-radius:32px 32px 0 0;padding:18px 18px 0;width:min(258px,75%);height:262px}
.mini-case{display:flex;flex-direction:column;align-items:stretch;gap:13px;padding:0;border:0;background:transparent;text-align:left;width:100%}
.mini-case img{width:100%;height:174px;object-fit:cover;object-position:center;border-radius:24px;filter:none}
.mini-case-title{display:flex;flex-direction:column;font-size:15px;font-weight:570;letter-spacing:-.035em;line-height:1.4}.mini-case-title small{font-size:11px;color:#777;font-weight:400;letter-spacing:0}
.hero-right{position:relative;z-index:1;min-width:0;display:flex;flex-direction:column;gap:12px}
.hero-image{height:720px;min-height:0;flex:none;border:0;background:#e9e8e8;overflow:hidden;border-radius:0;clip-path:url(#hero-cutout)}
.hero-image:before{display:none!important}
.hero-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:56% 50%;filter:grayscale(1) contrast(.96);transform:scale(1);transition:filter .45s,opacity .25s,transform 1.2s cubic-bezier(.2,.6,.2,1)}
.hero-image img.image-visible{opacity:1}.hero-image:hover img{transform:scale(1.035);filter:grayscale(.35) contrast(.98)}
.hero-project-tag{position:absolute;z-index:2;top:45px;right:44px;padding:11px 15px;border-radius:50px;background:#fff;color:#111;font-size:10px;font-weight:650;letter-spacing:.12em}
.hero-under-image{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 14px 0 15%;min-height:35px}
.hero-visual-caption{display:flex;gap:12px;align-items:baseline;white-space:nowrap}.hero-visual-caption b{font-size:12px;font-weight:650;letter-spacing:-.01em}.hero-visual-caption small{color:#7f7f7f;font-size:11px}
.hero-indicators{display:flex;gap:8px;align-items:center;margin-left:auto}.hero-indicators button{padding:0;border:0;background:#ddd;width:35px;height:5px;border-radius:10px;transition:background .25s,width .25s}.hero-indicators button.active{background:var(--accent);width:45px}.hero-page-number{font-size:10px;letter-spacing:.13em;color:#888;white-space:nowrap}
.hero-corner-cta{position:absolute;z-index:6;bottom:127px;left:32%;display:grid;place-items:center;width:73px;height:73px;border-radius:50%;background:var(--accent);color:white;transition:transform .25s,background .25s;border:6px solid white}
.hero-corner-cta:hover{transform:translate(3px,-3px);background:#dd560e}
.hero-svg-defs{position:absolute;width:0;height:0;overflow:hidden}
.brand-statement{margin-top:28px;padding-bottom:44px;border-bottom:1px solid var(--line);overflow:hidden}
.brand-statement-top{display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:600;letter-spacing:.12em;color:#888;margin-bottom:25px}
.brand-statement img{width:100%;height:auto;display:block}
.trust{padding-top:115px}
@media(min-width:1520px){.hero h1{font-size:79px}}
@media(max-width:1320px){.hero-grid{grid-template-columns:36% 64%;min-height:700px}.hero-left{padding-top:65px}.hero h1{font-size:5.05vw}.hero-image{height:660px}.hero-corner-cta{bottom:125px}.hero-lead{max-width:350px}.mini-case-shell{height:235px}.mini-case img{height:156px}}
@media(max-width:1020px){.hero-grid{grid-template-columns:41% 59%;min-height:590px}.hero h1{font-size:5.3vw}.hero-image{height:570px}.hero-lead{font-size:14px}.hero-sidekick{padding-top:28px}.mini-case-shell{width:220px;height:215px}.mini-case img{height:138px}.hero-corner-cta{bottom:95px;left:37%}.hero-project-tag{top:30px;right:30px}.hero-visual-caption small{display:none}}
@media(max-width:760px){.hero{padding-top:20px}.hero-grid{display:flex;min-height:0;flex-direction:column}.hero-left{padding:30px 0 0}.hero-kicker{margin-bottom:23px}.hero h1{font-size:clamp(43px,9vw,68px)}.hero-lead{font-size:15px;max-width:510px}.hero-sidekick{order:2;padding:25px 0 0}.mini-case-shell{border-radius:25px 25px 0 0;width:200px;height:196px}.mini-case img{height:125px}.hero-right{order:1;margin-top:40px}.hero-image{height:440px;clip-path:url(#hero-cutout)}.hero-project-tag{right:25px;top:27px}.hero-corner-cta{width:60px;height:60px;left:auto;right:11px;top:auto;bottom:225px;border-width:5px}.hero-under-image{padding-left:13%}.brand-statement{margin-top:45px;padding-bottom:30px}.brand-statement-top{font-size:8px}.trust{padding-top:90px}}
.hero-image.inspiration{background:#f0f0f0}.hero-image.inspiration img{filter:none;object-position:50% center}.hero-image.inspiration:hover img{filter:none}
@media(max-width:760px){.hero h1{font-size:clamp(37px,8.5vw,60px);white-space:normal}.hero-image{height:410px}}
@media(max-width:760px){.hero-under-image{gap:8px}.hero-page-number{display:none}.hero-indicators{gap:4px}.hero-indicators button{width:18px}.hero-indicators button.active{width:24px}}
:root{--accent:#121212}
.brand-statement{margin-top:4px;padding-top:21px;padding-bottom:2px;border:0;overflow:hidden;position:relative}
.brand-statement-top{margin-bottom:9px;font-size:9px;font-weight:550;letter-spacing:.095em;color:#6b6b6b}
.brand-statement img{width:100%;max-width:none;display:block}
.hero{padding-top:25px;padding-bottom:26px}
.hero-grid{min-height:650px}
.hero-left{padding-top:45px}
.hero-image{height:625px;background:#e8eaec}
.hero-image.is-web-concept{background:linear-gradient(135deg,#eef0f1 0%,#d9dee1 43%,#adb7bf 100%)}
.hero-image.is-web-concept > #hero-project-image{display:none!important}
.hero-web-scene{display:none}
.hero-image.is-web-concept .hero-web-scene{display:block;position:absolute;inset:0;overflow:hidden}
.hero-web-scene::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 63% 8%,#fff9,transparent 44%),linear-gradient(144deg,transparent 42%,#64717b16 42.1%,transparent 69%);pointer-events:none}
.hero-web-scene::after{content:'';position:absolute;left:-6%;right:-9%;bottom:-13%;height:42%;background:linear-gradient(0deg,#89949e40,transparent);pointer-events:none}
.web-browser-window{position:absolute;top:20%;left:10%;width:85%;height:60%;border:1px solid #a2a9ae;border-radius:16px 16px 10px 10px;background:#fdfdfd;box-shadow:25px 31px 42px #111b2445,0 0 0 5px #d0d6da50;overflow:hidden;transform:perspective(1000px) rotateY(-5deg) rotateX(1deg) rotateZ(-4deg);transform-origin:center;transition:transform .65s cubic-bezier(.2,.65,.2,1)}
.hero-image:hover .web-browser-window{transform:perspective(1000px) rotateY(-2deg) rotateX(1deg) rotateZ(-2deg) translateY(-4px)}
.web-browser-bar{height:39px;display:flex;align-items:center;gap:5px;padding:0 13px;border-bottom:1px solid #d9e0e4;background:#f3f4f4}
.browser-dot{width:7px;height:7px;border:1px solid #c6cccf;border-radius:50%;background:#dce0e1;flex:none}
.browser-url{margin:auto;color:#6f787f;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;letter-spacing:.015em}
.browser-more{color:#5f6a70;font-size:16px}
.web-browser-screen{height:calc(100% - 39px);overflow:hidden;background:#d3dfe8}
.web-browser-screen img{position:static!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 20%!important;filter:none!important;transform:none!important;transition:none!important}
.web-mobile-window{position:absolute;right:4.8%;bottom:11%;width:28%;height:37%;padding:13px 5px 6px;background:#161a1e;border:4px solid #3c4247;border-radius:23px;box-shadow:-13px 18px 25px #1d273b35;transform:rotate(5deg);overflow:hidden;transition:transform .5s}
.hero-image:hover .web-mobile-window{transform:rotate(3deg) translateY(-5px)}
.web-mobile-window img{position:static!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:22% center!important;border-radius:12px;filter:none!important;transform:none!important;transition:none!important}
.mobile-sensor{height:5px;width:25%;border-radius:30px;position:absolute;left:37.5%;top:6px;background:#565b60;z-index:1}
.scene-meta{position:absolute;top:10%;left:11%;display:flex;gap:17px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9px;letter-spacing:.09em;color:#53606c}
.scene-meta span{border-bottom:1px solid #9faab0;padding-bottom:5px}
.hero-image.is-web-concept .hero-project-tag{top:30px;right:30px;background:#111;color:#fff;font-size:9px}
.hero-corner-cta{background:#111;border-color:white}
.hero-corner-cta:hover{background:#333}
.hero-indicators button.active{background:#111}
.hero-visual-caption b{letter-spacing:.02em}
@media(max-width:1320px){.hero-grid{min-height:650px}.hero-image{height:620px}.hero-left{padding-top:35px}.hero h1{font-size:5.05vw}.mini-case-shell{height:226px}.hero-corner-cta{bottom:120px}}
@media(max-width:1020px){.hero-grid{min-height:590px}.hero-image{height:575px}.hero-left{padding-top:28px}.hero h1{font-size:5.2vw}.brand-statement img{width:100%}}
@media(max-width:760px){.brand-statement{margin-top:12px;padding-bottom:0}.hero{padding-top:16px}.hero-image{height:405px}.hero-image.is-web-concept .hero-web-scene{display:block}.web-browser-bar{height:25px}.web-browser-screen{height:calc(100% - 25px)}.web-browser-window{top:22%;width:88%;left:9%;height:55%}.web-mobile-window{height:36%;bottom:14%;width:28%}.browser-url{font-size:7px}.scene-meta{font-size:7px;gap:8px}.hero-image.is-web-concept .hero-project-tag{top:24px;right:16px}.hero-corner-cta{background:#111}}
:root { --ink: #101010; --paper: #fff; --soft: #fafafa; }
body { background: #fff; }
@media (min-width: 1321px) {
.wrap { width: min(1360px, calc(100% - 160px)); }
}
.header-layout { min-height: 116px; }
.brand-statement { margin-top: 40px; padding-top: 18px; padding-bottom: 88px; border-bottom: 0; overflow: visible; }
.brand-statement-top { margin-bottom: 28px; font-size: 10px; letter-spacing: .14em; }
.brand-statement img { display: block; width: 100%; height: auto; }
.hero { padding-top: 33px; padding-bottom: 55px; }
.hero-grid { grid-template-columns: 36.5% 59%; gap: 4.5%; min-height: 760px; }
.hero-left { padding-top: 84px; padding-bottom: 0; }
.hero-kicker { margin-bottom: 42px; letter-spacing: .165em; }
.hero h1 { font-size: clamp(54px, 5.25vw, 82px); line-height: 1.065; }
.hero-lead { margin-top: 44px; max-width: 380px; font-size: 17px; line-height: 1.85; }
.hero-links { margin-top: 44px; gap: 36px; }
.hero-sidekick { padding-top: 78px; }
.mini-case-shell { width: min(240px, 72%); height: 242px; }
.mini-case img { height: 162px; }
.hero-image { height: 708px; min-height: 0; }
.hero-under-image { margin-top: 23px; }
.hero-corner-cta { bottom: 148px; }
.trust { padding-top: 232px; padding-bottom: 240px; }
.trust-grid { margin-top: 116px; grid-template-columns: 1fr .90fr; column-gap: 14%; }
.trust-titleline { gap: 36px; }
.trust-titleline strong { font-size: clamp(155px, 16.6vw, 239px); }
.trust-copy { max-width: 440px; }
.trust-copy h2 { margin-bottom: 38px; }
.trust-copy p { line-height: 1.9; margin-bottom: 42px; }
.projects { background: #f9f9f8; padding-top: 155px; padding-bottom: 195px; }
.project-intro { margin-top: 105px; margin-bottom: 106px; gap: 85px; }
.project-intro h2 { font-size: clamp(56px, 5.35vw, 86px); }
.project-intro p { line-height: 1.9; max-width: 290px; }
.project-filters { padding-top: 36px; margin-bottom: 58px; }
.filter-controls { gap: 14px; }
.filter { padding: 12px 21px; }
.work-grid { gap: 112px 45px; }
.card-thumb { border-radius: 16px; }
.card-info { padding-top: 25px; }
.card-info small { margin-top: 9px; }
.design-disclaimer { margin-top: 105px; opacity: .7; }
.logos { padding-top: 210px; padding-bottom: 236px; }
.logo-title { margin-top: 112px; margin-bottom: 153px; }
.logo-title p { max-width: 280px; line-height: 1.85; }
.logo-wall { gap: 145px 65px; }
.logo-tile { min-height: 96px; }
.logo-disclaimer { margin-top: 145px; }
.services { background: #0e0e0e; padding-top: 179px; padding-bottom: 194px; }
.service-heading { margin-top: 106px; margin-bottom: 92px; }
.service-heading p { line-height: 1.9; }
.service-rows > div { min-height: 172px; }
.contact { padding-top: 207px; }
.contact-grid { padding-top: 135px; padding-bottom: 218px; gap: 16%; }
.contact-grid p:not(.eyebrow) { line-height: 1.9; margin-bottom: 46px; }
.footer { min-height: 146px; }
@media (min-width: 761px) and (max-width: 1320px) {
.wrap { width: calc(100% - 100px); }
.brand-statement { margin-top: 35px; padding-bottom: 75px; }
.hero { padding-top: 20px; }
.hero-grid { grid-template-columns: 36% 60%; gap: 4%; min-height: 668px; }
.hero-left { padding-top: 55px; }
.hero h1 { font-size: clamp(48px, 5vw, 70px); }
.hero-lead { font-size: 15px; line-height: 1.8; margin-top: 34px; }
.hero-links { margin-top: 32px; }
.hero-sidekick { padding-top: 36px; }
.hero-image { height: 645px; }
.hero-corner-cta { bottom: 115px; }
.trust { padding-top: 173px; padding-bottom: 181px; }
.trust-grid { margin-top: 82px; gap: 8%; }
.projects { padding-top: 136px; padding-bottom: 170px; }
.project-intro { margin-top: 78px; margin-bottom: 78px; }
.work-grid { gap: 95px 36px; }
.logos { padding-top: 177px; padding-bottom: 197px; }
.logo-title { margin-top: 95px; margin-bottom: 105px; }
.logo-wall { gap: 110px 32px; }
.services { padding-top: 139px; padding-bottom: 157px; }
.service-heading { margin-top: 85px; margin-bottom: 77px; }
.service-rows>div { min-height: 146px; }
.contact { padding-top: 170px; }
.contact-grid { padding-top: 112px; padding-bottom: 180px; }
}
@media (max-width: 760px) {
.brand-statement { margin-top: 30px; padding-top: 12px; padding-bottom: 38px; }
.brand-statement-top { margin-bottom: 16px; font-size: 8px; }
.hero { padding-top: 4px; padding-bottom: 22px; }
.hero-grid { min-height: 0; }
.hero-left { padding-top: 32px; }
.hero h1 { font-size: clamp(37px, 9vw, 60px); }
.hero-lead { margin-top: 28px; font-size: 15px; }
.hero-links { margin-top: 30px; gap: 16px; }
.hero-image { height: 405px; }
.hero-sidekick { padding-top: 28px; }
.trust { padding-top: 110px; padding-bottom: 130px; }
.trust-grid { margin-top: 72px; }
.projects { padding-top: 120px; padding-bottom: 135px; }
.project-intro { margin-top: 75px; margin-bottom: 60px; }
.project-filters { padding-top: 30px; margin-bottom: 40px; }
.work-grid { gap: 69px; }
.logos { padding-top: 131px; padding-bottom: 144px; }
.logo-title { margin-top: 76px; margin-bottom: 95px; }
.logo-wall { gap: 90px 20px; }
.services { padding-top: 129px; padding-bottom: 148px; }
.service-heading { margin-top: 80px; margin-bottom: 68px; }
.service-rows>div { min-height: 140px; }
.contact { padding-top: 142px; }
.contact-grid { padding-top: 82px; padding-bottom: 152px; }
.footer { min-height: 110px; }
}
:root { --ink:#0d0d0d; --paper:#fff; --soft:#f9f9f8; }
body { background:#fff; }
@media (min-width:1321px) {.wrap{width:min(1360px,calc(100% - 112px));}}
.header-layout {min-height:86px;}
.brand {width:180px;}
.brand-statement {margin-top:28px;padding-top:0;padding-bottom:27px;border:0;overflow:visible;}
.brand-statement-top {margin-bottom:10px;font-size:10px;letter-spacing:.11em;}
.brand-statement img {width:100%;max-width:100%;height:auto;display:block;}
.hero {padding-top:26px;padding-bottom:28px;}
.hero-grid {grid-template-columns:36.5% 59%;gap:4.5%;min-height:600px;}
.hero-left {padding-top:40px;padding-bottom:0;}
.hero-kicker {margin-bottom:28px;letter-spacing:.135em;}
.hero h1 {font-size:clamp(50px,5.1vw,76px);line-height:1.08;}
.hero-lead {margin-top:26px;max-width:390px;font-size:16px;line-height:1.66;}
.hero-links {margin-top:29px;gap:28px;}
.hero-sidekick {padding-top:27px;}
.mini-case-shell {height:196px;width:min(205px,70%);}
.mini-case img {height:136px;}
.hero-image {height:590px;min-height:0;}
.hero-under-image {margin-top:14px;}
.hero-corner-cta {bottom:102px;}
.trust {padding-top:95px;padding-bottom:105px;}
.trust-grid {margin-top:64px;grid-template-columns:1fr .95fr;column-gap:11%;}
.trust-titleline {gap:22px;}
.trust-titleline strong {font-size:clamp(126px,15.3vw,213px);}
.trust-copy {max-width:465px;}
.trust-copy h2 {margin-bottom:22px;}
.trust-copy p {line-height:1.68;margin-bottom:27px;}
.projects {background:#f9f9f8;padding-top:96px;padding-bottom:117px;}
.project-intro {margin-top:61px;margin-bottom:55px;gap:48px;}
.project-intro h2 {font-size:clamp(55px,5.25vw,79px);}
.project-intro p {line-height:1.68;max-width:320px;}
.project-filters {padding-top:26px;margin-bottom:32px;}
.filter-controls {gap:11px;}.filter{padding:10px 18px;}
.work-grid {gap:62px 34px;}
.card-thumb {border-radius:15px;}
.card-info {padding-top:18px;}.card-info small{margin-top:6px;}
.design-disclaimer {margin-top:67px;opacity:.67;}
.logos {padding-top:114px;padding-bottom:125px;}
.logo-title {margin-top:65px;margin-bottom:75px;}
.logo-title p {max-width:290px;line-height:1.6;}
.logo-wall {gap:67px 50px;}
.logo-tile {min-height:82px;}
.logo-disclaimer {margin-top:65px;}
.services {background:#0d0d0d;padding-top:102px;padding-bottom:115px;}
.service-heading {margin-top:72px;margin-bottom:55px;}
.service-heading p {line-height:1.7;}
.service-rows>div {min-height:130px;}
.contact {padding-top:105px;}
.contact-grid {padding-top:73px;padding-bottom:108px;gap:13%;}
.contact-grid p:not(.eyebrow) {line-height:1.65;margin-bottom:27px;}
.footer {min-height:118px;}
@media (min-width:761px) and (max-width:1320px) {
.wrap {width:calc(100% - 88px);}
.header-layout {min-height:86px;}
.brand-statement {margin-top:23px;padding-bottom:24px;}
.hero {padding-top:20px;}
.hero-grid {grid-template-columns:36% 60%;gap:4%;min-height:545px;}
.hero-left {padding-top:28px;}
.hero h1 {font-size:clamp(42px,5vw,66px);}
.hero-lead {font-size:15px;line-height:1.65;margin-top:24px;}
.hero-links {margin-top:25px;}
.hero-sidekick {padding-top:20px;}
.hero-image {height:533px;}
.hero-corner-cta {bottom:93px;}
.trust {padding-top:90px;padding-bottom:100px;}
.trust-grid {margin-top:60px;gap:8%;}
.projects {padding-top:92px;padding-bottom:110px;}
.project-intro {margin-top:59px;margin-bottom:50px;}
.work-grid {gap:62px 28px;}
.logos {padding-top:104px;padding-bottom:109px;}
.logo-title {margin-top:60px;margin-bottom:68px;}
.logo-wall {gap:55px 28px;}
.services {padding-top:100px;padding-bottom:106px;}
.service-heading {margin-top:66px;margin-bottom:53px;}
.service-rows>div {min-height:125px;}
.contact {padding-top:90px;}
.contact-grid {padding-top:67px;padding-bottom:100px;}
}
@media (max-width:760px) {
.brand-statement {margin-top:15px;padding-top:0;padding-bottom:19px;}
.brand-statement-top {margin-bottom:9px;font-size:8px;}
.hero {padding-top:6px;padding-bottom:20px;}
.hero-grid {min-height:0;}
.hero-left {padding-top:25px;}
.hero h1 {font-size:clamp(37px,9vw,58px);}
.hero-lead {margin-top:24px;font-size:15px;}
.hero-links {margin-top:25px;gap:15px;}
.hero-image {height:395px;}
.hero-sidekick {padding-top:18px;}
.trust {padding-top:80px;padding-bottom:90px;}
.trust-grid {margin-top:45px;}
.projects {padding-top:85px;padding-bottom:94px;}
.project-intro {margin-top:50px;margin-bottom:42px;}
.project-filters {padding-top:24px;margin-bottom:26px;}
.work-grid {gap:51px;}
.logos {padding-top:95px;padding-bottom:104px;}
.logo-title {margin-top:50px;margin-bottom:60px;}
.logo-wall {gap:55px 18px;}
.services {padding-top:90px;padding-bottom:105px;}
.service-heading {margin-top:56px;margin-bottom:48px;}
.service-rows>div {min-height:125px;}
.contact {padding-top:92px;}
.contact-grid {padding-top:60px;padding-bottom:96px;}
.footer {min-height:105px;}
}
:root{ --accent:#E86A3A; }
html{scroll-behavior:smooth;}
body{color:#111;background:#fff;}
.site-header{background:#fff;}
.header-layout{min-height:88px;}
.brand{width:178px;}
.brand img{width:100%;height:auto;}
.header-cta{border-color:#c9c9c9;}
.header-cta:hover{border-color:#111;}
.hero{padding-top:41px;padding-bottom:21px;}
.hero-grid{min-height:616px;}
.hero-left{padding-top:52px;}
.hero-kicker{font-size:10px;letter-spacing:.16em;color:#6a6a6a;margin-bottom:29px;}
.hero h1{font-size:clamp(51px,5.05vw,76px);line-height:1.065;letter-spacing:-.072em;}
.hero-lead{font-size:16px;line-height:1.7;max-width:385px;margin-top:27px;color:#656565;}
.hero-links{margin-top:29px;}
.button-black{font-weight:550;}
.button-black .arr{color:var(--accent);font-size:17px;transition:transform .2s;}
.button-black:hover .arr{transform:translate(2px,-2px);}
.hero-image{height:602px;}
.hero-image.is-web-concept{background:linear-gradient(135deg,#f1f3f5,#d9dfe4 46%,#aab6c0);}
.hero-project-tag{border:1px solid #ededed;}
.hero-under-image{margin-top:17px;}
.hero-corner-cta{width:66px;height:66px;background:#fff!important;color:#141414;border:1px solid #e1e1e1;box-shadow:0 8px 20px #00000014;left:33%;bottom:115px;}
.hero-corner-cta:hover{background:#111!important;color:#fff;transform:translate(2px,-2px);}
.hero-indicators button{width:27px;height:3px;border-radius:10px;background:#d0d0d0;}
.hero-indicators button.active{background:var(--accent)!important;width:43px;}
.hero-sidekick{padding-top:23px;}
.mini-case-shell{border-color:#dedede;border-style:dashed;border-radius:23px 23px 0 0;}
.brand-statement.wrap{width:min(1100px,calc(100% - 128px));margin:65px auto 0;padding:0 0 35px;overflow:visible;}
.brand-statement-top{display:flex;justify-content:space-between;color:#898989;font-size:9px;font-weight:550;letter-spacing:.12em;margin-bottom:13px;}
.brand-statement img{display:block;width:100%;height:auto;}
.trust{padding-top:75px;padding-bottom:116px;}
.trust-grid{margin-top:61px;gap:12%;}
.trust-titleline strong{font-size:clamp(118px,14.2vw,195px);letter-spacing:-.11em;}
.trust-copy h2{font-size:clamp(36px,3.4vw,52px);line-height:1.1;letter-spacing:-.055em;max-width:450px;}
.trust-copy p{font-size:16px;line-height:1.74;color:#626262;max-width:420px;}
.projects{background:#f8f8f8;padding-top:109px;padding-bottom:122px;}
.project-intro{margin-top:70px;margin-bottom:59px;}
.project-intro h2,.logo-title h2,.service-heading h2{letter-spacing:-.062em;line-height:1.075;font-weight:540;}
.project-intro p{font-size:16px;line-height:1.65;}
.project-filters{padding-top:22px;margin-bottom:36px;}
.filter-controls{gap:10px;}
.filter{font-size:12px;padding:12px 18px;border-color:#d4d4d4;position:relative;}
.filter.active{padding-left:28px;}
.filter.active:before{content:'';position:absolute;left:14px;top:50%;width:5px;height:5px;border-radius:50%;background:var(--accent);transform:translateY(-50%);}
.work-grid{gap:74px 37px;}
.card-thumb{aspect-ratio:1.43;border-radius:11px;}
.card-thumb img{transition:transform .85s cubic-bezier(.16,1,.3,1);}
.work-card:hover .card-thumb img{transform:scale(1.028);}
.card-tags{top:17px;left:17px;gap:5px;}
.card-tags span{padding:7px 10px;background:#fffffff0;border:1px solid #ffffffaa;color:#333;font-size:10px;font-weight:500;}
.bookmark-corner{display:none!important;}
.card-info{padding-top:18px;}
.card-info strong{font-size:25px;letter-spacing:-.055em;}
.card-info small{font-size:13px;color:#777;}
.card-arrow{transition:transform .2s;}
.work-card:hover .card-arrow{transform:translate(3px,-3px);}
.logos{padding-top:129px;padding-bottom:132px;}
.logo-title{margin-top:70px;margin-bottom:81px;}
.logo-wall{gap:76px 45px;}
.logo-tile{color:#262626;min-height:88px;}
.logo-disclaimer{margin-top:78px;}
.services{background:#0c0c0c;padding-top:109px;padding-bottom:118px;}
.service-heading{margin-top:77px;margin-bottom:59px;}
.service-heading p{font-size:16px;line-height:1.75;}
.service-rows>div{min-height:146px;grid-template-columns:8% 45% 1fr 28px;}
.service-rows strong{font-size:clamp(27px,2.45vw,36px);}
.service-rows>div>span:nth-of-type(2){font-size:14px;color:#aaa;}
.service-rows b{font-size:25px;font-weight:300;color:#eee;}
.contact{padding-top:115px;}
.contact-grid{padding-top:74px;padding-bottom:115px;}
.contact-grid h2{letter-spacing:-.073em;}
.contact-grid p:not(.eyebrow){font-size:16px;line-height:1.75;}
.footer{min-height:117px;}
@media (min-width:761px) and (max-width:1320px){
.hero{padding-top:32px;}.hero-grid{min-height:570px;}
.hero-left{padding-top:38px;}.hero-image{height:561px;}
.hero-corner-cta{bottom:107px;left:32%;}
.brand-statement.wrap{width:min(1040px,calc(100% - 112px));margin-top:58px;}
.trust{padding-top:72px;padding-bottom:106px;}
.projects{padding-top:100px;padding-bottom:115px;}
.work-grid{gap:60px 28px;}
.logos{padding-top:116px;padding-bottom:119px;}
.logo-wall{gap:64px 30px;}
.services{padding-top:101px;padding-bottom:112px;}
.contact{padding-top:104px;}
}
@media(max-width:760px){
.hero{padding-top:16px;}.hero-grid{min-height:0;}
.hero-left{padding-top:25px;}.hero-image{height:395px;}
.hero-corner-cta{left:auto;right:14px;bottom:215px;}
.brand-statement.wrap{width:calc(100% - 38px);margin-top:57px;padding-bottom:16px;}
.brand-statement-top{font-size:8px;}
.trust{padding-top:75px;padding-bottom:95px;}
.projects{padding-top:91px;padding-bottom:98px;}
.work-grid{gap:47px;}
.logos{padding-top:94px;padding-bottom:99px;}
.logo-wall{gap:50px 18px;}
.services{padding-top:90px;padding-bottom:99px;}
.service-rows>div{min-height:122px;}
.contact{padding-top:85px;}.contact-grid{padding-top:60px;padding-bottom:84px;}
}
@media(prefers-reduced-motion: reduce){html{scroll-behavior:auto;}}
.card-thumb { position: relative; }
.project-ribbon {
position:absolute; top:19px; right:19px; z-index:4;
display:inline-flex; align-items:center; gap:9px;
max-width:calc(100% - 175px); padding:10px 12px;
background:rgba(12,12,12,.93); border:1px solid rgba(255,255,255,.10);
border-radius:4px; color:#fff; line-height:1.15;
font-size:10px; font-weight:650; letter-spacing:.095em;
text-transform:uppercase; white-space:nowrap;
box-shadow:0 6px 18px rgba(0,0,0,.11); pointer-events:none;
}
.project-ribbon::before { content:""; display:block; width:4px; height:4px; flex:0 0 4px;
background:var(--accent,#E86A3A); border-radius:50%; }
@media(max-width:800px){
.project-ribbon {top:auto;right:13px;bottom:13px;max-width:calc(100% - 26px);
font-size:9px; padding:8px 10px; }
}
.mini-case-photo{cursor:default;}
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700;800&display=swap');
:root{
--accent:#FF6E18;
--ink:#000000;
--gray:#EEEEEE;
--paper:#FFFFFF;
}
body,
button,
input,
textarea,
select,
.hero h1,
.project-intro h2,
.logo-title h2,
.service-heading h2,
.trust-copy h2,
.contact-grid h2,
.card-info strong,
nav,
.filter{
font-family:'Manrope','Helvetica Neue',Helvetica,Arial,sans-serif;
}
body{background:var(--paper);color:var(--ink);}
::selection{background:var(--accent);color:#fff;}
button:focus-visible,a:focus-visible{outline-color:var(--accent);}
.button-black .arr,
.text-link .arr{color:var(--accent);}
.hero-indicators button.active{background:var(--accent)!important;}
.filter.active:before{background:var(--accent);}
.hero-corner-cta:hover{border-color:var(--accent);}
.projects{background:#F6F6F6;}
.card-tags span{
font-family:'Manrope','Helvetica Neue',Helvetica,Arial,sans-serif;
background:rgba(255,255,255,.94);
border:1px solid rgba(0,0,0,.08);
color:#111;
font-weight:600;
}
.project-ribbon{display:none!important;}
.bookmark-ribbons{
position:absolute;
top:0;
right:18px;
z-index:6;
display:flex;
align-items:flex-start;
gap:5px;
pointer-events:none;
}
.bookmark-ribbon{
width:34px;
height:49px;
display:flex;
align-items:flex-start;
justify-content:center;
padding:10px 2px 0;
clip-path:polygon(0 0,100% 0,100% 100%,50% 81%,0 100%);
color:#fff;
font-family:'Manrope','Helvetica Neue',Helvetica,Arial,sans-serif;
font-size:8px;
font-weight:800;
line-height:1;
letter-spacing:.045em;
text-transform:uppercase;
box-shadow:0 7px 16px rgba(0,0,0,.12);
}
.bookmark-ribbon.ribbon-orange{background:var(--accent);}
.bookmark-ribbon.ribbon-black{background:#000;}
.bookmark-ribbon.ribbon-orange:first-child{font-size:13px;padding-top:8px;}
.card-thumb{border-radius:13px;}
.card-info strong{font-weight:650;}
.card-info small{color:#777;}
.work-card:hover .card-arrow{color:var(--accent);}
.pale{color:#A7A7A7;}
.section-rule{color:#8D8D8D;}
@media(max-width:760px){
.bookmark-ribbons{right:12px;gap:4px;}
.bookmark-ribbon{width:30px;height:43px;padding-top:8px;font-size:7px;}
.bookmark-ribbon.ribbon-orange:first-child{font-size:12px;padding-top:7px;}
}
:root{--accent:#FF6E18;--ink:#000;--muted:#707070;--soft:#A0A0A0;--paper:#fff;}
.hero h1{font-size:clamp(61px,5.75vw,88px);line-height:.97;letter-spacing:-.068em;font-weight:700;}
.hero-lead{font-size:17px;line-height:1.68;max-width:575px;color:#5f5f5f;}
.hero-kicker{letter-spacing:.145em;color:#777;}
.brand-statement.wrap{width:min(1025px,calc(100% - 128px));margin-top:70px;padding-bottom:34px;}
.brand-statement-top{margin-bottom:15px;color:#929292;}
.trust-grid{position:relative;}
.trust-grid:before{content:"";position:absolute;left:50%;top:52%;width:62px;height:1px;background:#d9d9d9;transform:translate(-50%,-50%);}
.trust-grid:after{content:"";position:absolute;left:calc(50% + 31px);top:52%;width:5px;height:5px;border-radius:50%;background:var(--accent);transform:translate(-50%,-50%);}
.trust-copy p{color:#5f5f5f;}
.filter{border-color:#c7c7c7;color:#444;background:#fff;}
.filter:hover,.filter.active{background:#000;color:#fff;border-color:#000;}
.card-tags span{border-color:#d8d8d8;background:rgba(255,255,255,.96);color:#111;}
.card-info small{color:#656565!important;}
.card-info strong{font-weight:700;}
.design-disclaimer{color:#8b8b8b;}
.bookmark-ribbons{right:16px;gap:4px;}
.bookmark-ribbon{width:31px;height:46px;box-shadow:none;}
.bookmark-ribbon.ribbon-orange{background:var(--accent);}
.bookmark-ribbon.ribbon-black{background:#000;}
.logo-wall{grid-template-columns:repeat(4,minmax(0,1fr));gap:58px 34px;align-items:center;}
.logo-tile{height:94px;min-height:94px;justify-content:center;opacity:.92;transform-origin:center;}
.logo-tile:hover{opacity:.58;transform:translateY(-2px);}
.logo-disclaimer{margin-top:60px;}
.service-rows>div{min-height:154px;}
.service-rows>div>span:nth-of-type(2){color:#b5b5b5!important;font-size:14px;}
.service-heading p{color:#b0b0b0;}
.service-rows b{color:#f4f4f4;}
.contact h2{line-height:.91;}
.contact-grid p:not(.eyebrow){color:#666;}
.hero-link-subtle:hover,.contact-email:hover,.card-arrow:hover{color:var(--accent);}
@media(max-width:1320px){
.brand-statement.wrap{width:min(980px,calc(100% - 100px));}
.trust-grid:before,.trust-grid:after{display:none;}
}
:root{
--fps-bg:#E8EEEE;
--fps-bg-soft:#DFE8E8;
--fps-ink:#0B2324;
--fps-muted:#718283;
--fps-line:#C7D3D3;
--fps-coral:#E94B2B;
--fps-cyan:#50B3C4;
--fps-pink:#E2A5E6;
--fps-white:#FFFFFF;
--accent:var(--fps-coral);
--ink:var(--fps-ink);
--paper:var(--fps-bg);
--gray:var(--fps-bg-soft);
--muted:var(--fps-muted);
--soft:#93A3A3;
--line:var(--fps-line);
}
html,body{background:var(--fps-bg);color:var(--fps-ink);}
body{accent-color:var(--fps-coral);}
::selection{background:var(--fps-coral);color:#fff;}
.site-header{background:var(--fps-bg);}
.header-layout{border-color:var(--fps-line);}
.header-layout nav a,.header-actions,.header-cta{color:var(--fps-ink);}
.language{color:#91A0A0;}
.language button{color:#829292;}
.language button.active{color:var(--fps-ink);}
.button-outline{border-color:var(--fps-ink);color:var(--fps-ink);background:transparent;}
.button-outline:hover{background:var(--fps-ink);color:#fff;}
.brand img,.brand-statement img,.footer-logo img{filter:none!important;opacity:1!important;}
.hero-kicker{color:#6D7D7D;}
.hero h1,.hero-lead,.hero-link-subtle{color:var(--fps-ink);}
.hero-lead{color:#526667;}
.button-black{background:var(--fps-coral);color:#fff;}
.button-black:hover{background:#CF3F24;}
.button-black .arr{color:#fff!important;}
.hero-link-subtle:hover{color:var(--fps-coral);}
.hero-image.is-web-concept{background:linear-gradient(135deg,#DDE8E9,#C6D7DA 48%,#9FB9BE);}
.hero-project-tag{background:var(--fps-bg);color:var(--fps-ink);border-color:#C8D5D5;}
.hero-corner-cta{background:var(--fps-bg)!important;color:var(--fps-ink);border-color:#BACACA;box-shadow:0 9px 24px rgba(11,35,36,.10);}
.hero-corner-cta:hover{background:var(--fps-coral)!important;color:#fff;border-color:var(--fps-coral);}
.hero-indicators button{background:#B8C8C8;}
.hero-indicators button.active{background:var(--fps-coral)!important;}
.hero-under-image,.hero-visual-caption small,.hero-page-number{color:#6F8081;}
.round-arrow{background:var(--fps-coral);color:#fff;}
.brand-statement{color:#000;}
.brand-statement-top{color:#798989;}
.section-rule{border-color:var(--fps-line);color:#718181;}
.trust-titleline strong,.trust-copy h2,.trust-copy p,.text-link{color:var(--fps-ink);}
.trust-titleline>span{color:#748586;}
.trust-copy p{color:#536667;}
.trust-grid:before{background:#BDCCCC;}
.trust-grid:after{background:var(--fps-coral);}
.text-link{border-color:#8DA0A0;}
.text-link .arr{color:var(--fps-coral)!important;}
.projects{background:var(--fps-bg);}
.projects .section-rule,.project-filters,.design-disclaimer{border-color:var(--fps-line);}
.project-intro h2,.project-intro p,.card-info strong,.card-info small,.project-counter{color:var(--fps-ink);}
.project-intro p,.card-info small{color:#5E7071!important;}
.pale{color:#829394;}
.filter{border-color:#B8C8C8;color:var(--fps-ink);background:rgba(255,255,255,.22);}
.filter:hover,.filter.active{background:var(--fps-ink);color:#fff;border-color:var(--fps-ink);}
.filter.active:before{background:var(--fps-coral);}
.card-tags span{border-color:rgba(11,35,36,.16);background:rgba(232,238,238,.93);color:var(--fps-ink);}
.card-arrow{color:var(--fps-ink);}
.work-card:hover .card-arrow{color:var(--fps-coral);}
.design-disclaimer{color:#7B8A8B;}
.bookmark-ribbon.ribbon-orange{background:var(--fps-coral);}
.bookmark-ribbon.ribbon-black{background:var(--fps-cyan);color:var(--fps-ink);}
.work-card[data-project="pecsi"] .bookmark-ribbon.ribbon-black{background:var(--fps-pink);color:var(--fps-ink);}
.logo-title h2,.logo-title p,.logo-tile{color:var(--fps-ink);}
.logo-title p{color:#5E7172;}
.logo-wall{border-color:var(--fps-line);}
.logo-tile{opacity:.88;}
.logo-disclaimer{color:#728384;}
.services{background:var(--fps-ink);color:#fff;}
.section-rule-inverted{border-color:#385253;color:#93A7A7;}
.service-heading .pale{color:#809495;}
.service-heading p{color:#B6C4C4;}
.service-rows{border-color:#466061;}
.service-rows>div{border-color:#314B4C;}
.service-rows>div>span:first-child{color:#7E9696;}
.service-rows>div>span:nth-of-type(2){color:#AFC0C0!important;}
.service-rows b{color:var(--fps-coral);}
.service-rows>div:hover b{color:var(--fps-cyan);}
.contact{background:var(--fps-bg);}
.contact .eyebrow,.contact-grid p:not(.eyebrow){color:#667879;}
.contact h2,.contact-email{color:var(--fps-ink);}
.contact-email{border-color:#7F9192;}
.contact-email:hover{color:var(--fps-coral);}
.footer{border-color:var(--fps-line);color:#6D7E7F;}
.footer a:hover{color:var(--fps-coral);}
.project-modal{background:var(--fps-bg);color:var(--fps-ink);}
.modal-close{background:var(--fps-ink);color:#fff;}
.modal-notice{color:#6C7D7E;}
@media(max-width:760px){
.site-header,.projects,.contact{background:var(--fps-bg);}
}
:root{
--sub-bg:#E8EEEE;
--sub-soft:#DFE8E8;
--sub-ink:#0B2324;
--sub-muted:#66797A;
--sub-line:#C7D3D3;
--sub-coral:#E94B2B;
--sub-cyan:#50B3C4;
--sub-pink:#E2A5E6;
--sub-cream:#F4F0E7;
}
body{background:var(--sub-bg);color:var(--sub-ink)}
.site-header{background:var(--sub-bg)}
.sub-main{overflow:hidden}
.sub-hero{padding:58px 0 120px}
.sub-hero-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:7%;align-items:end}
.sub-kicker{font-size:10px;letter-spacing:.16em;font-weight:750;color:#738485;margin-bottom:34px}
.sub-hero h1{font-size:clamp(76px,7.2vw,118px);letter-spacing:-.078em;line-height:.92;font-weight:560;max-width:720px}
.sub-hero h1 .soft{color:#809293}
.sub-lead{font-size:18px;line-height:1.7;color:#566A6B;max-width:570px;margin-top:35px}
.sub-meta{display:flex;flex-wrap:wrap;gap:9px;margin-top:33px}
.sub-meta span{border:1px solid #B9C9C9;border-radius:99px;padding:9px 14px;font-size:11px;font-weight:650;background:rgba(255,255,255,.28)}
.sub-cta-row{display:flex;align-items:center;gap:20px;margin-top:38px}
.sub-hero-visual{min-width:0}
.project-browser{background:#fff;border:1px solid #B9C8C8;border-radius:32px;overflow:hidden;box-shadow:0 28px 80px rgba(11,35,36,.12)}
.browser-chrome{height:48px;border-bottom:1px solid #D5DFDF;display:flex;align-items:center;gap:7px;padding:0 18px;color:#819091;font-size:10px;letter-spacing:.05em}.browser-chrome i{width:7px;height:7px;border-radius:50%;background:#A9B8B8}.browser-chrome span{margin-left:10px}
.project-browser img{width:100%;display:block;aspect-ratio:1.34;object-fit:cover;object-position:top}
.sub-statbar{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--sub-line);border-bottom:1px solid var(--sub-line);margin-top:70px}.sub-stat{padding:24px 20px;border-right:1px solid var(--sub-line)}.sub-stat:last-child{border-right:0}.sub-stat small{display:block;font-size:9px;letter-spacing:.12em;color:#78898A;margin-bottom:9px}.sub-stat strong{font-size:16px;font-weight:600}
.sub-section{padding:125px 0;border-top:1px solid var(--sub-line)}
.sub-section.soft-bg{background:rgba(255,255,255,.24)}
.sub-section.dark{background:var(--sub-ink);color:white;border:0}
.sub-section.cream{background:var(--sub-cream)}
.sub-rule{display:flex;justify-content:space-between;gap:30px;font-size:9px;letter-spacing:.14em;font-weight:700;color:#78898A;margin-bottom:62px}
.dark .sub-rule{color:#8EA1A1}
.sub-split{display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:start}
.sub-section h2{font-size:clamp(54px,5.2vw,86px);line-height:1.01;letter-spacing:-.065em;font-weight:520}.sub-section h2 .soft{color:#879899}.dark h2 .soft{color:#809596}
.sub-copy{max-width:590px}.sub-copy p{font-size:17px;line-height:1.78;color:#586B6C;margin-bottom:22px}.dark .sub-copy p{color:#B5C2C2}.sub-copy strong{color:var(--sub-ink)}.dark .sub-copy strong{color:white}
.case-image{border-radius:32px;overflow:hidden;background:#DCE5E5}.case-image img{width:100%;height:100%;object-fit:cover;display:block}.case-image.tall{height:760px}.case-image.medium{height:520px}.case-image img.top{object-position:top}
.case-overlap{position:relative;min-height:670px}.case-overlap .case-image:first-child{width:78%;height:620px}.case-overlap .case-image:last-child{position:absolute;width:48%;height:350px;right:0;bottom:0;border:12px solid var(--sub-bg);border-radius:32px}
.case-quote{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:clamp(42px,4.1vw,68px);line-height:1.12;letter-spacing:-.035em;max-width:720px}.case-quote small{display:block;font-family:Manrope,Arial,sans-serif;font-style:normal;font-size:12px;letter-spacing:.08em;margin-top:28px;color:#829494}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:65px}.feature-card{border-top:1px solid var(--sub-line);padding:28px 0 20px}.feature-card span{font-size:10px;color:#7A8B8C;letter-spacing:.12em}.feature-card h3{font-size:26px;letter-spacing:-.04em;font-weight:580;margin:55px 0 15px}.feature-card p{font-size:14px;line-height:1.65;color:#637677}
.dark .feature-card{border-color:#355052}.dark .feature-card p,.dark .feature-card span{color:#9FB0B0}
.fullcase{padding:115px 0}.fullpage-window{width:min(1200px,calc(100% - 112px));margin:auto;border-radius:30px;overflow:hidden;border:1px solid #B9CACA;background:white;box-shadow:0 35px 100px rgba(11,35,36,.16)}.fullpage-window .browser-chrome{position:sticky;top:0;background:#fff;z-index:2}.fullpage-scroll{height:740px;overflow:auto;scrollbar-width:thin}.fullpage-scroll img{width:100%;display:block}
.case-gallery{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;margin-top:65px}.case-gallery .case-image:first-child{grid-row:span 2;height:680px}.case-gallery .case-image{height:328px}
.next-panel{display:grid;grid-template-columns:1.15fr .85fr;gap:12%;align-items:end}.next-panel h2{font-size:clamp(68px,8vw,126px)}.next-panel a{font-size:28px;border-bottom:1px solid #7C8F90;padding-bottom:14px;display:flex;justify-content:space-between;align-items:center}
.service-hero-visual{border-radius:38px;overflow:hidden;min-height:570px;background:#DCE7E8;position:relative}.service-hero-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.service-hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,rgba(11,35,36,.02),rgba(11,35,36,.12))}
.service-number{position:absolute;right:28px;bottom:22px;z-index:2;color:white;font-size:11px;letter-spacing:.12em}
.service-list{margin-top:55px;border-top:1px solid var(--sub-line)}.service-list>div{display:grid;grid-template-columns:70px 1fr 1fr;gap:30px;align-items:center;min-height:118px;border-bottom:1px solid var(--sub-line)}.service-list>div>span:first-child{font-size:10px;color:#7F9090}.service-list strong{font-size:29px;font-weight:540;letter-spacing:-.04em}.service-list p{font-size:14px;color:#627576;line-height:1.55}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:65px}.process-step{border-top:1px solid currentColor;padding-top:22px;min-height:250px}.process-step small{font-size:10px;letter-spacing:.12em;opacity:.6}.process-step h3{font-size:25px;letter-spacing:-.04em;margin:80px 0 15px}.process-step p{font-size:14px;line-height:1.6;opacity:.68}
.related-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:55px}.related-card{display:block}.related-card figure{margin:0;aspect-ratio:1.55;border-radius:22px;overflow:hidden;background:#D9E4E5}.related-card img{width:100%;height:100%;object-fit:cover}.related-card h3{font-size:28px;margin:18px 0 5px;letter-spacing:-.04em}.related-card p{font-size:13px;color:#697B7C}
.service-overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:60px}.service-overview-card{min-height:480px;border:1px solid var(--sub-line);border-radius:26px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .3s,background .3s}.service-overview-card:hover{transform:translateY(-5px);background:rgba(255,255,255,.35)}.service-overview-card .n{font-size:11px;letter-spacing:.12em;color:#78898A}.service-overview-card h2{font-size:42px;line-height:1.05;letter-spacing:-.05em}.service-overview-card p{font-size:14px;line-height:1.6;color:#617475}.service-overview-card .arrow{font-size:30px;color:var(--sub-coral)}
.sub-footer{border-top:1px solid var(--sub-line);padding:45px 0 38px;display:flex;justify-content:space-between;align-items:center;color:#6D7E7F;font-size:11px}.sub-footer .footer-logo{width:140px}
@media(max-width:1100px){.sub-hero-grid,.sub-split,.next-panel{grid-template-columns:1fr;gap:50px}.sub-hero-visual{min-height:500px}.sub-statbar{grid-template-columns:repeat(2,1fr)}.sub-stat:nth-child(2){border-right:0}.feature-grid,.service-overview-grid{grid-template-columns:1fr 1fr}.process-grid{grid-template-columns:1fr 1fr}.case-gallery{grid-template-columns:1fr}.case-gallery .case-image:first-child{grid-row:auto;height:520px}}
@media(max-width:760px){.sub-hero{padding-top:35px}.sub-hero h1{font-size:14vw}.sub-section{padding:80px 0}.sub-section h2{font-size:11vw}.sub-statbar{grid-template-columns:1fr}.sub-stat{border-right:0}.feature-grid,.service-overview-grid,.process-grid,.related-grid{grid-template-columns:1fr}.case-overlap{min-height:0}.case-overlap .case-image:first-child{width:100%;height:440px}.case-overlap .case-image:last-child{position:relative;width:75%;height:250px;margin:-80px 0 0 auto;border-width:8px}.fullpage-window{width:calc(100% - 38px)}.fullpage-scroll{height:550px}.service-list>div{grid-template-columns:34px 1fr}.service-list p{grid-column:2}.sub-footer{flex-wrap:wrap;gap:18px}}
.service-rows>a{min-height:128px;border-bottom:1px solid #314B4C;display:grid;grid-template-columns:9% 45% 1fr 28px;align-items:center;gap:20px;color:inherit}.service-rows>a>span:first-child{color:#7E9696;font-size:11px}.service-rows>a>span:nth-of-type(2){font-size:13px;color:#AFC0C0}.service-rows>a strong{font-weight:450;font-size:32px;letter-spacing:-.045em}.service-rows>a b{font-size:24px;font-weight:300;color:var(--sub-coral);transition:transform .25s}.service-rows>a:hover b{transform:translate(4px,-4px);color:var(--sub-cyan)}
@media(max-width:760px){.service-rows>a{grid-template-columns:28px 1fr 25px;min-height:130px;gap:12px}.service-rows>a>span:nth-of-type(2){display:none}.service-rows>a strong{font-size:25px}}
@media (min-width: 1100px) {
.hero.wrap > .hero-grid {
grid-template-columns: minmax(0, 37.5%) minmax(0, 55%);
column-gap: 7.5%;
}
}
.project-v25{color:#0B2324}
.pv25-hero{padding-top:clamp(46px,5vw,82px);padding-bottom:clamp(65px,6vw,105px)}
.pv25-hero-grid{display:grid;grid-template-columns:minmax(0,.80fr) minmax(0,1.20fr);gap:clamp(55px,7.5vw,140px);align-items:center}
.pv25-hero-copy{min-width:0}.pv25-kicker{color:#758889;font-size:10px;letter-spacing:.17em;font-weight:750;margin-bottom:clamp(36px,4vw,65px)}
.pv25-hero h1{font-size:clamp(76px,8vw,132px);font-weight:550;letter-spacing:-.084em;line-height:.92;margin:0}.pv25-hero h1 .soft{color:#879B9C}
.pv25-lead{font-size:clamp(16px,1.28vw,19px);line-height:1.72;color:#4D6465;max-width:530px;margin-top:clamp(30px,3.4vw,52px)}
.pv25-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.pv25-tags span{padding:9px 14px;border:1px solid #BACACA;border-radius:100px;font-size:11px;color:#2D4748;background:#ffffff30;font-weight:600}
.pv25-back{display:inline-flex;align-items:center;gap:25px;background:#E94B2B;color:#fff;padding:14px 20px;border-radius:100px;margin-top:35px;font-size:13px;font-weight:700;transition:transform .2s,background .2s}.pv25-back:hover{background:#CF3F24;transform:translateY(-2px)}.pv25-back span:last-child{font-size:23px;line-height:1}
.pv25-hero-visual{margin:0;min-width:0}.pv25-hero-visual img{width:100%;aspect-ratio:1304/920;object-fit:cover;border-radius:clamp(24px,2.8vw,44px);box-shadow:0 28px 75px rgba(11,35,36,.12);background:#172324}
.pv25-hero-visual figcaption{display:flex;justify-content:space-between;gap:15px;margin-top:18px;font-size:10px;letter-spacing:.1em;color:#788A8B}
.pv25-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #C5D1D1;border-bottom:1px solid #C5D1D1;margin-top:clamp(55px,5.6vw,90px)}.pv25-meta-item{padding:22px 25px 24px;border-right:1px solid #C5D1D1}.pv25-meta-item:first-child{padding-left:0}.pv25-meta-item:last-child{border-right:0}.pv25-meta-item small{display:block;color:#75898A;font-size:10px;letter-spacing:.11em;font-weight:700;margin-bottom:11px}.pv25-meta-item strong{font-size:14px;font-weight:600}
.pv25-intro,.pv25-preview{padding:clamp(90px,8vw,130px) 0}.pv25-intro{background:#E1E9E9;border-top:1px solid #CFDADA}.pv25-rule{display:flex;justify-content:space-between;gap:30px;color:#76898A;font-size:10px;letter-spacing:.14em;font-weight:700;border-top:1px solid #C3D0D0;padding-top:22px;margin-bottom:clamp(55px,5vw,82px)}
.pv25-intro-grid{display:grid;grid-template-columns:1fr .92fr;gap:clamp(60px,11vw,170px);align-items:start}.pv25-intro h2,.pv25-system h2,.pv25-preview h2{font-size:clamp(47px,5.4vw,85px);font-weight:530;letter-spacing:-.068em;line-height:1.06}.pv25-intro h2 em,.pv25-preview h2 em{font-style:normal;color:#7C9293}.pv25-intro-copy{max-width:600px}.pv25-intro-copy p{font-size:clamp(16px,1.22vw,18px);line-height:1.85;color:#53696A;margin:0 0 25px}
.pv25-system{background:#0B2324;color:#F9FBFB;padding:clamp(92px,8vw,135px) 0}.pv25-system .pv25-rule{color:#8EA2A3;border-color:#365253}.pv25-system-heading{display:grid;grid-template-columns:1.1fr .72fr;gap:clamp(60px,9vw,140px);align-items:end}.pv25-system h2{color:#829B9B}.pv25-system h2 span{color:#fff}.pv25-system-heading>p{font-size:17px;line-height:1.75;color:#AEC2C2;max-width:480px;padding-bottom:7px}
.pv25-features{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:clamp(70px,6vw,100px)}.pv25-feature{border-top:1px solid #365253;padding-top:25px}.pv25-feature>span{font-size:10px;color:#87A0A0;letter-spacing:.12em}.pv25-feature h3{font-size:clamp(21px,2vw,30px);font-weight:520;letter-spacing:-.035em;margin:38px 0 14px}.pv25-feature p{font-size:14px;line-height:1.65;color:#9DB3B3;max-width:340px}
.pv25-preview{background:#E8EEEE}.pv25-preview-grid{display:grid;grid-template-columns:minmax(0,.67fr) minmax(0,1.33fr);gap:clamp(50px,8vw,120px);align-items:center}.pv25-preview-text p{color:#597071;font-size:17px;line-height:1.76;max-width:440px;margin:32px 0 30px}.pv25-preview-text>a{font-size:14px;display:inline-flex;align-items:center;gap:26px;border-bottom:1px solid #92A4A4;padding-bottom:10px}.pv25-preview-text>a span{color:#E94B2B;font-size:24px}
.pv25-browser{background:#F5F7F7;border:1px solid #B5C5C5;border-radius:27px;overflow:hidden;box-shadow:0 35px 95px rgba(11,35,36,.14)}.pv25-browser-top{height:48px;display:flex;align-items:center;gap:14px;padding:0 20px;border-bottom:1px solid #D0DDDD;font-size:10px;color:#6C8182;letter-spacing:.03em}.pv25-browser-dots{display:flex;gap:6px}.pv25-browser-dots i{width:7px;height:7px;border-radius:50%;background:#9FAEAF}.pv25-scroll-mark{margin-left:auto;font-size:18px;color:#E94B2B}
.pv25-browser-scroll{height:clamp(430px,45vw,650px);overflow:auto;overscroll-behavior:contain;scrollbar-color:#9EB1B1 #E2EAEA;scrollbar-width:thin;background:#EDF1F1;display:flex;justify-content:center;align-items:flex-start}.pv25-browser-scroll img{display:block;width:min(100%,500px);height:auto;flex:0 0 auto}.pv25-browser[data-preview="commerce"] .pv25-browser-scroll img{width:100%;max-width:none}
.sub-contact-v25{background:#E8EEEE;padding:clamp(85px,8vw,130px) 0 clamp(90px,8vw,130px);border-top:1px solid #C7D3D3}.sub-contact-rule{border-top:1px solid #C7D3D3;padding-top:22px;display:flex;justify-content:space-between;color:#7B8F90;font-size:10px;letter-spacing:.14em;font-weight:700}.sub-contact-grid{display:grid;grid-template-columns:1fr .8fr;gap:clamp(65px,10vw,160px);align-items:end;margin-top:clamp(65px,6vw,100px)}.sub-contact-eyebrow{font-size:10px;letter-spacing:.15em;font-weight:700;color:#809494;margin-bottom:20px}.sub-contact-grid h2{font-size:clamp(72px,9vw,144px);line-height:.92;letter-spacing:-.084em;font-weight:520;color:#0B2324}.sub-contact-copy{padding-bottom:8px}.sub-contact-copy p{font-size:17px;line-height:1.75;color:#526B6C;max-width:430px;margin-bottom:32px}.sub-contact-email{display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:clamp(23px,2.3vw,37px);border-bottom:1px solid #718989;padding-bottom:14px;letter-spacing:-.04em;color:#0B2324}.sub-contact-email span:last-child{font-size:26px;color:#E94B2B}
.sub-footer{gap:30px}.sub-footer .footer-logo{margin-right:auto}.sub-footer>span{margin-inline:auto}.sub-footer>a:last-child{margin-left:auto}
@media(max-width:1100px){.pv25-hero-grid{grid-template-columns:.88fr 1.12fr;gap:42px}.pv25-hero h1{font-size:clamp(65px,8vw,104px)}.pv25-intro-grid,.pv25-system-heading{gap:55px}.pv25-preview-grid{gap:40px}}
@media(max-width:760px){.pv25-hero{padding-top:40px;padding-bottom:70px}.pv25-hero-grid,.pv25-intro-grid,.pv25-system-heading,.pv25-preview-grid,.sub-contact-grid{grid-template-columns:1fr;gap:42px}.pv25-hero h1{font-size:clamp(70px,16vw,105px)}.pv25-kicker{margin-bottom:34px}.pv25-lead{margin-top:26px}.pv25-meta{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:50px}.pv25-meta-item:nth-child(2){border-right:0}.pv25-meta-item:nth-child(n+3){border-top:1px solid #C5D1D1}.pv25-meta-item:nth-child(3){padding-left:0}.pv25-intro,.pv25-preview,.pv25-system{padding:78px 0}.pv25-intro h2,.pv25-system h2,.pv25-preview h2{font-size:clamp(47px,10vw,70px)}.pv25-rule{margin-bottom:50px}.pv25-features{grid-template-columns:1fr;gap:28px;margin-top:60px}.pv25-feature h3{margin-top:22px}.pv25-browser-scroll{height:500px}.pv25-browser-scroll img{width:min(100%,377px)}.pv25-browser[data-preview="commerce"] .pv25-browser-scroll img{width:100%}.sub-contact-v25{padding:80px 0}.sub-contact-grid{margin-top:60px}.sub-contact-grid h2{font-size:clamp(70px,15vw,110px)}.sub-contact-email{font-size:clamp(22px,5vw,32px)}.sub-contact-rule{font-size:9px}.sub-footer{justify-content:space-between}.sub-footer>span{margin-inline:0}}
@media(max-width:400px){.pv25-meta{grid-template-columns:1fr}.pv25-meta-item{padding:16px 0!important;border-right:0;border-top:1px solid #C5D1D1}.pv25-meta-item:first-child{border-top:0}.pv25-hero h1{font-size:18vw}.pv25-browser-top{padding:0 10px;font-size:9px}}
.pv25-system h2 span[data-hu]:not(.green-second){color:#829B9B}
.pv25-system h2 .green-second{color:#fff}
.pv25-browser[data-preview="website"] .pv25-browser-scroll img{width:min(100%,377px)}
.project-v25 .pv25-hero-grid{grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);gap:clamp(48px,6.2vw,112px);align-items:center}
.project-v25 .pv25-hero-visual{min-width:0;margin:0}
.project-v25 .pv26-hero-browser{border:1px solid rgba(10,37,39,.14);border-radius:clamp(20px,2vw,32px);overflow:hidden;background:#111820;box-shadow:0 26px 64px rgba(11,35,36,.12)}
.project-v25 .pv26-hero-browser-top{height:34px;background:#F7FAFA;display:flex;align-items:center;gap:15px;padding:0 17px;color:#7A8C8D;font-size:10px;letter-spacing:.03em}
.project-v25 .pv26-hero-dots{display:flex;gap:6px;flex-shrink:0}
.project-v25 .pv26-hero-dots i{display:block;width:7px;height:7px;border-radius:50%;background:#B6C6C6}
.project-v25 .pv26-hero-dots i:first-child{background:#F28B80}
.project-v25 .pv26-hero-dots i:nth-child(2){background:#E7C56E}
.project-v25 .pv26-hero-dots i:nth-child(3){background:#8AC3A7}
.project-v25 .pv26-hero-browser>img{display:block;width:100%;max-width:100%;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;border-radius:0!important;box-shadow:none!important;transform:none!important;position:static!important}
.project-v25 .pv25-hero-visual figcaption{margin-top:15px}
.project-v25 .pv25-hero{padding-bottom:clamp(68px,6vw,98px)}
.project-v25 .pv25-intro{padding:clamp(85px,7vw,120px) 0;background:#E1E9E9}
.project-v25 .pv25-preview{padding:clamp(85px,7.5vw,125px) 0;background:#E8EEEE}
.project-v25 .pv26-preview-layout{display:flex;flex-direction:column;align-items:center;gap:0}
.project-v25 .pv26-preview-heading{width:min(100%,900px);text-align:center;margin:0 auto clamp(38px,4.4vw,70px)}
.project-v25 .pv26-preview-heading h2{font-size:clamp(50px,5.8vw,89px);line-height:1.03;letter-spacing:-.07em;margin:0}
.project-v25 .pv26-preview-heading p{color:#536C6D;font-size:clamp(15px,1.2vw,18px);line-height:1.75;max-width:650px;margin:25px auto 0}
.project-v25 .pv26-preview-layout>.pv25-browser{width:min(100%,1010px);margin-inline:auto;border-radius:clamp(18px,2.2vw,29px);box-shadow:0 24px 70px rgba(11,35,36,.12)}
.project-v25 .pv25-browser-top{height:44px;background:#F9FBFB}
.project-v25 .pv25-browser-scroll{height:clamp(420px,51vw,660px);display:block;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:#10161B;scrollbar-width:thin;scrollbar-color:#90A7A7 #E8EEEE}
.project-v25 .pv25-browser-scroll img,
.project-v25 .pv25-browser[data-preview=website] .pv25-browser-scroll img,
.project-v25 .pv25-browser[data-preview=commerce] .pv25-browser-scroll img{display:block;width:100%!important;max-width:none!important;height:auto!important;min-height:0;object-fit:contain!important;object-position:top!important;image-rendering:auto}
.project-v25 .pv26-preview-bottom{width:min(100%,1010px);display:flex;justify-content:flex-end;margin:24px auto 0}
.project-v25 .pv26-preview-bottom a{display:inline-flex;align-items:center;gap:18px;border-bottom:1px solid #91A6A6;padding:0 0 9px;font-size:13px;color:#284344}
.project-v25 .pv26-preview-bottom a span:last-child{font-size:22px;color:#E94B2B}
@media(max-width:1100px){.project-v25 .pv25-hero-grid{gap:36px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}
@media(max-width:760px){.project-v25 .pv25-hero-grid{grid-template-columns:1fr;gap:34px}.project-v25 .pv25-hero-visual{width:100%}.project-v25 .pv25-intro,.project-v25 .pv25-preview{padding:72px 0}.project-v25 .pv26-preview-heading{text-align:left;margin-bottom:30px}.project-v25 .pv26-preview-heading p{margin:20px 0 0}.project-v25 .pv26-preview-layout>.pv25-browser{width:100%}.project-v25 .pv25-browser-scroll{height:clamp(380px,90vw,520px)}.project-v25 .pv25-browser-top{height:38px;font-size:9px}.project-v25 .pv26-preview-bottom{margin-top:18px}}
@media(max-width:400px){.project-v25 .pv26-hero-browser-top{font-size:9px;padding-inline:12px}.project-v25 .pv26-preview-heading h2{font-size:13vw}}
.mobile-menu-toggle{display:none}
@media (max-width: 980px) {
.wrap { width: calc(100% - 48px); }
.site-header { position: relative; z-index: 100; }
.header-layout { display: grid; grid-template-columns: 1fr auto auto; gap: 16px; min-height: 76px; padding: 0; align-items: center; }
.header-layout .brand { width: clamp(145px, 22vw, 182px); }
.header-actions { grid-column: 2; grid-row: 1; gap: 0; }
.header-cta { display: none !important; }
.header-layout nav { display: none; }
.mobile-menu-toggle { grid-column: 3; grid-row: 1; width: 46px; height: 46px; border: 1px solid #9FB3B3; border-radius: 50%; background: transparent; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 5px; z-index: 103; }
.mobile-menu-toggle .menu-line { width: 19px; height: 1.6px; border-radius: 2px; background: #0B2324; transition: transform .2s, opacity .2s; }
.mobile-menu-toggle[aria-expanded="true"] .menu-line:first-child { transform: translateY(3.3px) rotate(45deg); }
.mobile-menu-toggle[aria-expanded="true"] .menu-line:last-child { transform: translateY(-3.3px) rotate(-45deg); }
.header-layout nav.is-open { display: flex; position: absolute; top: calc(100% - 1px); left: 0; right: 0; z-index: 102; background: #E8EEEE; border-bottom: 1px solid #C7D3D3; padding: 20px 24px 30px; flex-direction: column; align-items: stretch; gap: 0; box-shadow: 0 25px 45px #0B232422; }
.header-layout nav.is-open a { display: flex; min-height: 57px; align-items: center; border-bottom: 1px solid #C7D3D3; font-size: 20px; font-weight: 550; letter-spacing: -.035em; }
body.mobile-menu-open { overflow: hidden; }
.hero-grid { grid-template-columns: 1fr; display: flex; flex-direction: column; gap: 0; min-height: 0; }
.hero-left { padding-top: 30px; }
.hero h1 { font-size: clamp(58px, 9.6vw, 92px); white-space: normal; line-height: .99; letter-spacing: -.075em; }
.hero-lead { font-size: 16px; max-width: 600px; }
.hero-right { margin-top: 45px; }
.hero-image { min-height: 0; height: auto; aspect-ratio: 1.35; flex: none; }
.hero-image.is-web-concept .hero-web-scene { display: block; }
.hero-sidekick { padding: 24px 0 0; margin-top: 0; }
.mini-case-shell { width: 210px; height: 207px; }
.hero-corner-cta { display: none; }
.brand-statement { margin-top: 55px; }
.trust { padding-top: 90px; padding-bottom: 95px; }
.trust-grid { grid-template-columns: 1fr 1fr; gap: 45px; }
.trust-titleline strong { font-size: 18vw; }
.projects { padding: 85px 0 95px; }
.project-intro h2,.logo-title h2,.service-heading h2 { font-size: clamp(50px, 7vw, 80px); }
.logo-wall { gap: 55px 20px; }
.contact-grid { gap: 40px; }
.pv25-hero-grid, .project-v25 .pv25-hero-grid { grid-template-columns: 1fr; }
.pv25-hero-visual { max-width: 800px; }
.sub-hero-grid, .sub-split, .next-panel { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
html { scroll-padding-top: 85px; }
body { overflow-x: clip; }
.wrap { width: calc(100% - 36px); }
.header-layout { min-height: 70px; padding: 0; flex-wrap: nowrap; }
.header-layout .brand { width: clamp(143px, 40vw, 174px); }
.language { gap: 7px; }
.language button { font-size: 11px; padding: 10px 2px; }
.mobile-menu-toggle { width: 42px; height: 42px; }
.hero { padding-top: 26px; }
.hero-left { padding: 0; }
.hero-kicker { margin: 0 0 24px; font-size: 9px; letter-spacing: .14em; }
.hero h1 { font-size: clamp(45px, 10.6vw, 78px); line-height: 1.03; letter-spacing: -.073em; margin-left: 0; }
.hero-lead { margin-top: 24px; font-size: 15px; line-height: 1.65; }
.hero-links { margin-top: 25px; gap: 20px; }
.button-black { min-height: 48px; padding: 13px 19px; }
.hero-link-subtle { font-size: 13px; }
.hero-right { order: 0; margin-top: 34px; }
.hero-image { height: auto; min-height: 0; aspect-ratio: 1.14; clip-path: none !important; border-radius: 36px 36px 36px 48px !important; }
.hero-image:before { display: none !important; }
.web-browser-window { left: 10%; top: 24%; width: 85%; height: 57%; border-radius: 10px; }
.web-mobile-window { width: 27%; height: 37%; right: 4%; bottom: 10%; }
.scene-meta { top: 11%; left: 13%; font-size: 7px; }
.hero-project-tag { top: 18px !important; right: 15px !important; font-size: 8px !important; padding: 10px 12px !important; }
.hero-under-image { padding: 0 2px; margin-top: 14px; gap: 8px; }
.hero-visual-caption { min-width: 0; }
.hero-visual-caption b { font-size: 11px; }
.hero-visual-caption small { display: none; }
.hero-indicators { gap: 5px; margin-left: auto; }
.hero-indicators button { min-width: 18px; min-height: 8px; width: 18px; }
.hero-indicators button.active { width: 28px; }
.hero-page-number { display: none; }
.hero-sidekick { order: 0; padding-top: 30px; }
.mini-case-shell { width: 178px; height: 178px; padding: 12px 12px 0; }
.mini-case img { width: 100%; height: 108px; border-radius: 18px; }
.mini-case-title { font-size: 12px; }
.brand-statement { margin-top: 36px; padding-bottom: 20px; }
.brand-statement-top { font-size: 8px; }
.trust { padding: 65px 0 80px; }
.trust-grid { display: block; margin-top: 42px; }
.trust-titleline { gap: 18px; }
.trust-titleline strong { font-size: clamp(125px, 32vw, 180px); }
.trust-copy { margin-top: 45px; }
.trust-copy h2 { font-size: clamp(36px, 9vw, 55px); }
.trust-copy p { font-size: 15px; }
.projects { padding: 70px 0 80px; }
.project-intro { display: block; margin-top: 40px; margin-bottom: 35px; }
.project-intro h2,.logo-title h2,.service-heading h2 { font-size: clamp(40px, 10.2vw, 62px); }
.project-intro p,.logo-title p,.service-heading p { font-size: 15px; margin-top: 20px; }
.project-filters { margin-top: 30px; padding-top: 22px; }
.filter-controls { gap: 7px; }
.filter { padding: 10px 12px; font-size: 11px; }
.work-grid { grid-template-columns: 1fr; gap: 32px; }
.card-thumb { min-height: 0; }
.card-info { min-height: 76px; }
.logos { padding: 75px 0; }
.logo-title { display: block; margin: 42px 0 48px; }
.logo-wall { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 35px 18px; }
.logo-tile { min-width: 0; }
.services { padding: 75px 0 80px; }
.service-heading { display: block; margin: 40px 0 48px; }
.service-rows>a { min-height: 110px; gap: 10px; }
.service-rows>a strong { font-size: clamp(21px, 6vw, 30px); }
.contact { padding-top: 75px; }
.contact-grid { display: block; padding: 55px 0 80px; }
.contact h2 { font-size: clamp(64px, 15vw, 104px); line-height: .98; }
.contact-grid>div:last-child { margin-top: 48px; }
.contact-grid p:not(.eyebrow) { font-size: 15px; }
.contact-email { font-size: clamp(20px, 5.4vw, 32px); overflow-wrap: anywhere; }
.footer { min-height: 0; display: flex; gap: 20px; flex-wrap: wrap; justify-content: space-between; padding: 26px 0; }
.footer-logo { width: 130px; }
.footer>span { order: 3; flex: 1 0 100%; }
.sub-hero { padding-top: 40px; }
.sub-hero h1 { font-size: clamp(52px, 12vw, 90px); overflow-wrap: anywhere; }
.sub-section { padding: 65px 0; }
.sub-section h2 { font-size: clamp(42px, 10vw, 66px); }
.sub-hero-visual { min-height: 330px; }
.pv25-hero, .project-v25 .pv25-hero { padding-top: 40px; padding-bottom: 62px; }
.project-v25 .pv25-hero-grid { display: grid; grid-template-columns: 1fr; gap: 32px; }
.pv25-hero h1 { font-size: clamp(62px, 16vw, 95px); }
.pv25-lead { font-size: 15px; }
.pv25-tags { flex-wrap: wrap; }
.pv25-meta { margin-top: 38px; }
.pv25-intro h2, .pv25-preview h2 { font-size: clamp(44px, 11vw, 72px); }
.project-v25 .pv26-preview-heading { width: 100%; }
.project-v25 .pv26-preview-heading h2 { font-size: clamp(44px, 10.7vw, 70px); }
.project-v25 .pv25-browser-scroll { height: min(110vw, 540px); }
.project-v25 .pv25-browser-scroll img { width: 100% !important; }
.sub-contact-v25 { padding: 65px 0; }
.sub-contact-grid { display: block; margin-top: 50px; }
.sub-contact-grid h2 { font-size: clamp(65px, 16vw, 110px); }
.sub-contact-copy { margin-top: 42px; }
.sub-contact-copy p { font-size: 15px; }
.sub-contact-email { font-size: clamp(21px, 5.5vw, 32px); gap: 12px; overflow-wrap: anywhere; }
.sub-footer { min-height: 0; gap: 20px; flex-wrap: wrap; padding: 28px 0; }
}
@media (max-width: 375px) {
.wrap { width: calc(100% - 30px); }
.header-layout { gap: 8px; }
.header-layout .brand { width: 138px; }
.hero h1 { font-size: 10.5vw; }
.hero-lead { font-size: 14px; }
.hero-image { border-radius: 26px !important; }
.hero-under-image { flex-wrap: wrap; }
.contact h2 { font-size: 15vw; }
}
.contact-phone,.sub-contact-phone { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 17px; padding: 8px 0 13px; border-bottom: 1px solid #8CA1A1; color: #0B2324; font-size: clamp(20px, 2.2vw, 32px); letter-spacing: -.04em; }
.contact-phone span:last-child,.sub-contact-phone span:last-child { color: #E94B2B; }
.contact-phone:hover,.sub-contact-phone:hover { color: #E94B2B; }
.hero-web-scene .web-browser-screen{overflow:hidden;position:relative}.hero-web-scene .web-browser-screen img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;object-position:top;transform:none;position:relative;inset:auto}
.hero-web-scene .web-browser-window{overflow:hidden}.dweb-empty-visual{min-height:270px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(135deg,#cadbdc,#a5bfc2);color:#0b2324;padding:24px;gap:12px}.dweb-empty-visual strong{font-size:clamp(20px,4vw,46px);letter-spacing:-.07em}.dweb-empty-visual small{font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.dweb-mini-preview{display:flex;align-items:center;justify-content:center}.dweb-mini-preview>span{font-weight:800;font-size:clamp(22px,5vw,55px);color:#d9e5e5}.dweb-mini-preview img{width:100%;height:auto;object-fit:cover;object-position:top}
.dweb-card-placeholder{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;width:100%;height:100%;min-height:220px;padding:30px;background:linear-gradient(140deg,#d7e4e4,#b2caca);color:#0b2324;gap:15px}.dweb-card-placeholder strong{font-size:clamp(25px,3vw,52px);line-height:1.1;letter-spacing:-.06em}.dweb-card-placeholder small{font-size:10px;letter-spacing:.1em}.work-card[hidden]{display:none!important}
.dweb-all-projects{margin:48px 0 0;text-align:right}.dweb-all-projects a,.dweb-project-visit{display:inline-flex;border-bottom:1px solid #819798;padding-bottom:8px;color:#0b2324}
.dweb-contact-phone{margin-top:22px;font-size:clamp(20px,2.2vw,34px)}.dweb-social{display:inline-flex;align-items:center;gap:12px;margin-top:25px;font-size:15px;color:#0b2324;border-bottom:1px solid #839b9b;padding-bottom:10px}.dweb-social:hover{color:#e94b2b}
.dweb-archive{padding-top:70px;padding-bottom:120px}.dweb-archive h1{font-size:clamp(56px,9vw,135px);letter-spacing:-.08em;margin:55px 0 65px}.dweb-footer{border-top:1px solid #c7d3d3;min-height:110px}
.dweb-hero-crop{height:clamp(300px,34vw,550px);overflow:hidden;display:flex;align-items:flex-start;justify-content:center;background:#d6e2e3}.dweb-hero-crop img{height:auto;width:auto;max-width:100%;display:block;object-fit:contain;object-position:top center}
.project-v25 .pv25-browser-scroll{display:flex;justify-content:center;align-items:flex-start}.project-v25 .pv25-browser-scroll img{width:auto!important;max-width:100%!important;height:auto!important;object-fit:contain}
.project-v25 .pv25-browser-scroll .dweb-empty-visual{width:100%}.project-v25 .pv25-hero-visual .dweb-empty-visual{min-height:350px}
.pv25-hero-copy h1{overflow-wrap:anywhere}
@media(max-width:760px){.dweb-archive{padding-top:45px}.dweb-archive h1{margin:35px 0}.dweb-contact-phone{margin-top:16px}.dweb-social{margin-top:22px}.dweb-hero-crop{height:300px}.hero-web-scene .web-browser-screen img{height:auto}}
.language a{color:#829292;font-size:12px;text-decoration:none;padding:5px;display:inline-block}
.language a.active{color:#0b2324;font-weight:700}
.language a:hover{color:#e94b2b}
.hero-web-scene .web-browser-screen img{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;max-width:100%!important;object-fit:contain!important;object-position:top center!important;transform:none!important}
.hero-web-scene .web-mobile-window img{object-position:top center!important}
.dweb-logo-wall-gallery .dweb-logo-image-tile{display:flex;align-items:center;justify-content:center;min-height:125px;padding:clamp(16px,2.4vw,34px);overflow:hidden}
.dweb-logo-wall-gallery .dweb-logo-image-tile img.dweb-partner-logo{display:block;width:auto!important;height:auto!important;max-width:100%!important;max-height:100px!important;object-fit:contain!important;filter:none!important;transform:none!important}
@media(max-width:760px){.dweb-logo-wall-gallery .dweb-logo-image-tile{min-height:90px;padding:16px}.dweb-logo-wall-gallery .dweb-logo-image-tile img.dweb-partner-logo{max-height:75px!important}}
.dweb-project-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:35px}
.project-v25 .dweb-project-actions .dweb-project-cta-primary,.project-v25 .dweb-project-actions .dweb-project-cta-secondary{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:13px 19px;border-radius:100px;font-size:13px;font-weight:700;line-height:1;text-decoration:none;transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease}
.project-v25 .dweb-project-actions .dweb-project-cta-primary{background:#E94B2B;color:#fff;border:1px solid #E94B2B}
.project-v25 .dweb-project-actions .dweb-project-cta-primary:hover{background:#CF3F24;border-color:#CF3F24;color:#fff;transform:translateY(-2px)}
.project-v25 .dweb-project-actions .dweb-project-cta-secondary{margin-top:0;background:transparent;color:#0B2324;border:1px solid #90A4A5}
.project-v25 .dweb-project-actions .dweb-project-cta-secondary:hover{background:#fff;border-color:#6F8788;color:#0B2324;transform:translateY(-2px)}
@media(max-width:760px){.dweb-project-actions{align-items:stretch}.project-v25 .dweb-project-actions .dweb-project-cta-primary,.project-v25 .dweb-project-actions .dweb-project-cta-secondary{width:100%}}
.dweb-service-page .sub-hero-grid{align-items:center}
.dweb-service-hero-art{min-height:520px;border-radius:42px;position:relative;overflow:hidden;background:radial-gradient(circle at 72% 34%,#b5cfd2 0,#c8d9da 24%,#dce6e6 48%,#a7c2c4 100%)}
.dweb-service-hero-art:before{content:"";position:absolute;inset:12% -25% -60% 18%;border:2px solid rgba(11,35,36,.17);border-radius:50%;box-shadow:0 0 0 44px rgba(255,255,255,.10),0 0 0 88px rgba(11,35,36,.04),0 0 0 135px rgba(255,255,255,.13)}
.dweb-service-hero-inner{position:absolute;inset:0;padding:48px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;color:#0b2324}
.dweb-service-hero-inner span{font-size:10px;letter-spacing:.14em;font-weight:700}
.dweb-service-hero-inner strong{font-size:clamp(32px,5vw,75px);line-height:1;letter-spacing:-.07em;max-width:95%;overflow-wrap:anywhere}
.dweb-service-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 30px;margin-top:75px;counter-reset:step}
.dweb-service-step{border-top:1px solid #bacaca;padding:24px 0 35px;min-height:220px;position:relative}
.dweb-service-step:before{content:"";position:absolute;left:0;top:-2px;height:3px;width:22%;background:#e94b2b;transition:width .4s ease}
.dweb-service-step:hover:before{width:100%}
.dweb-step-number{font-size:11px;color:#7b9090;letter-spacing:.1em}
.dweb-service-step h3{font-size:clamp(24px,2.6vw,35px);letter-spacing:-.045em;font-weight:550;margin:35px 0 12px}
.dweb-service-step p{font-size:14px;line-height:1.65;color:#637777;max-width:320px}
@media(max-width:1000px){.dweb-service-hero-art{min-height:430px}.dweb-service-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.dweb-service-page .sub-hero{padding-top:32px;padding-bottom:75px}.dweb-service-page .sub-hero h1{font-size:clamp(52px,12vw,86px)}.dweb-service-hero-art{min-height:310px;border-radius:24px}.dweb-service-hero-inner{padding:26px}.dweb-service-timeline{grid-template-columns:1fr;gap:0;margin-top:45px}.dweb-service-step{min-height:0;padding-bottom:25px}.dweb-service-step h3{margin-top:24px}}
.dweb-service-step.is-inview:before{width:100%}
@media(prefers-reduced-motion:reduce){.dweb-service-step:before{transition:none}}
.dweb-service-hero-art.has-featured-image{
background:#dce6e6;
}
.dweb-service-hero-art.has-featured-image:before{
display:none;
}
.dweb-service-hero-image{
position:absolute;
inset:0;
width:100%;
height:100%;
display:block;
object-fit:cover;
object-position:center;
}
.card-thumb{
overflow:hidden;
}
.card-thumb img{
display:block;
width:100%!important;
max-width:none!important;
height:auto!important;
min-height:100%;
object-fit:initial!important;
object-position:top left!important;
transform-origin:center top;
border-radius:0!important;
}
.work-card:hover .card-thumb img{
transform:scale(1.022);
}
.project-v25 .pv26-hero-browser{
overflow:hidden;
}
.project-v25 .pv26-hero-browser .dweb-hero-crop{
width:100%;
height:clamp(360px,35vw,560px);
display:block;
overflow:hidden;
border-radius:0!important;
background:#d6e2e3;
}
.project-v25 .pv26-hero-browser .dweb-hero-crop img{
display:block;
width:100%!important;
max-width:none!important;
height:auto!important;
min-height:0!important;
aspect-ratio:auto!important;
object-fit:initial!important;
object-position:top left!important;
margin:0!important;
border-radius:0!important;
box-shadow:none!important;
transform:none!important;
position:static!important;
}
.project-v25 .pv25-browser-scroll img{
display:block;
width:100%!important;
max-width:none!important;
height:auto!important;
min-height:0!important;
object-fit:contain!important;
object-position:top!important;
border-radius:0!important;
}
.hero-image.is-web-concept{
position:relative;
}
.dweb-hero-slide-link{
position:absolute;
inset:0;
z-index:1;
display:block;
color:inherit;
text-decoration:none;
border-radius:inherit;
overflow:hidden;
}
.dweb-hero-slide-link:focus-visible{
outline:3px solid #E94B2B;
outline-offset:4px;
}
.hero-image.is-web-concept .hero-web-scene{
z-index:1;
}
.hero-image.is-web-concept .hero-project-tag{
z-index:3;
pointer-events:none;
}
.hero-web-scene .web-browser-screen{
overflow:hidden;
}
.hero-web-scene .web-browser-screen img{
display:block!important;
position:static!important;
inset:auto!important;
width:100%!important;
max-width:none!important;
height:auto!important;
min-height:100%;
object-fit:initial!important;
object-position:top left!important;
transform:none!important;
transition:opacity .2s ease!important;
border-radius:0!important;
}
.hero-web-scene .web-mobile-window img{
display:block!important;
width:100%!important;
max-width:none!important;
height:auto!important;
min-height:100%;
object-fit:initial!important;
object-position:top left!important;
border-radius:12px;
}
.hero-slider-controls{
display:flex;
align-items:center;
gap:9px;
margin-left:auto;
}
.hero-slider-controls .hero-indicators{
margin-left:0;
}
.hero-slider-arrow{
width:31px;
height:31px;
display:inline-grid;
place-items:center;
border:1px solid #B8C8C8;
border-radius:50%;
padding:0;
background:transparent;
color:#0B2324;
font-size:15px;
line-height:1;
cursor:pointer;
transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}
.hero-slider-arrow:hover,
.hero-slider-arrow:focus-visible{
background:#0B2324;
color:#fff;
border-color:#0B2324;
transform:translateY(-1px);
}
.hero-slider-arrow:focus-visible{
outline:2px solid #E94B2B;
outline-offset:2px;
}
.hero-indicators button{
cursor:pointer;
}
#dweb-hero-corner-link{
z-index:4;
}
@media(max-width:760px){
.project-v25 .pv26-hero-browser .dweb-hero-crop{
height:320px;
}
.hero-slider-controls{
gap:6px;
margin-left:auto;
}
.hero-slider-arrow{
width:28px;
height:28px;
font-size:13px;
}
.hero-slider-controls .hero-indicators{
gap:5px;
}
.hero-slider-controls .hero-indicators button{
width:18px;
min-width:18px;
height:4px;
min-height:4px;
}
.hero-slider-controls .hero-indicators button.active{
width:28px;
}
}
@media(max-width:430px){
.hero-under-image{
align-items:flex-start;
}
.hero-slider-arrow{
display:none;
}
}
small#hero-project-type{
display:none;
}
.dweb-archive .card-info small{
display:-webkit-box;
-webkit-box-orient:vertical;
-webkit-line-clamp:2;
overflow:hidden;
}
.dweb-pagination{
margin-top:clamp(72px,8vw,120px);
padding-top:26px;
border-top:1px solid #cbd6d6;
display:flex;
align-items:center;
justify-content:space-between;
gap:28px;
}
.dweb-pagination-state{
flex:0 0 auto;
font-size:10px;
line-height:1;
letter-spacing:.12em;
text-transform:uppercase;
color:#7e8d8d;
}
.dweb-pagination-links{
display:flex;
align-items:center;
justify-content:flex-end;
flex-wrap:wrap;
gap:8px;
}
.dweb-pagination .page-numbers{
min-width:42px;
height:42px;
padding:0 13px;
border:1px solid #bdcaca;
border-radius:999px;
display:inline-flex;
align-items:center;
justify-content:center;
color:#0b2324;
background:transparent;
font-size:12px;
line-height:1;
text-decoration:none;
transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}
.dweb-pagination a.page-numbers:hover{
background:#0b2324;
border-color:#0b2324;
color:#fff;
transform:translateY(-1px);
}
.dweb-pagination .page-numbers.current{
background:#0b2324;
border-color:#0b2324;
color:#fff;
}
.dweb-pagination .page-numbers.prev,
.dweb-pagination .page-numbers.next{
min-width:auto;
padding-inline:18px;
}
.dweb-pagination .page-numbers.dots{
border-color:transparent;
min-width:26px;
padding:0;
}
@media(max-width:760px){
.dweb-pagination{
align-items:flex-start;
flex-direction:column;
gap:18px;
margin-top:62px;
}
.dweb-pagination-links{
justify-content:flex-start;
}
.dweb-pagination .page-numbers{
min-width:38px;
height:38px;
padding:0 11px;
}
.dweb-pagination .page-numbers.prev,
.dweb-pagination .page-numbers.next{
padding-inline:14px;
}
}
.project-v25 .pv25-hero-visual figcaption{
justify-content:flex-start;
}
.project-v25 .dweb-project-actions{
display:flex;
flex-direction:column;
align-items:flex-start;
gap:18px;
margin-top:35px;
}
.project-v25 .dweb-project-actions .dweb-project-cta-secondary{
min-height:0;
width:auto;
padding:0;
border:0;
border-radius:0;
background:transparent;
color:#0B2324;
font-size:13px;
font-weight:650;
line-height:1.35;
gap:10px;
margin:0;
box-shadow:none;
}
.project-v25 .dweb-project-actions .dweb-project-cta-secondary:hover{
background:transparent;
border:0;
color:#E94B2B;
transform:translateX(-3px);
}
.project-v25 .dweb-project-actions .dweb-project-cta-secondary span{
font-size:16px;
line-height:1;
}
@media(max-width:760px){
.project-v25 .dweb-project-actions{
align-items:flex-start;
}
.project-v25 .dweb-project-actions .dweb-project-cta-primary{
width:auto;
}
.project-v25 .dweb-project-actions .dweb-project-cta-secondary{
width:auto;
}
}
.project-v25 .pv25-hero h1{
font-size:clamp(58px,6.25vw,104px);
line-height:.94;
letter-spacing:-.072em;
overflow-wrap:normal;
word-break:normal;
hyphens:none;
}
.project-v25 .dweb-project-actions{
display:flex;
flex-direction:row;
align-items:center;
flex-wrap:wrap;
gap:22px;
margin-top:35px;
}
.project-v25 .dweb-project-actions .dweb-project-cta-secondary{
order:1;
display:inline-flex;
align-items:center;
gap:10px;
min-height:0;
width:auto;
padding:0 0 6px;
margin:0;
border:0;
border-bottom:1px solid #8FA3A4;
border-radius:0;
background:transparent;
color:#0B2324;
font-size:13px;
font-weight:650;
line-height:1.35;
box-shadow:none;
}
.project-v25 .dweb-project-actions .dweb-project-cta-primary{
order:2;
margin:0;
}
.project-v25 .dweb-project-actions .dweb-project-cta-secondary:hover{
background:transparent;
color:#E94B2B;
border-bottom-color:#E94B2B;
transform:translateX(-2px);
}
.project-v25 .dweb-project-actions .dweb-project-cta-secondary span{
font-size:16px;
line-height:1;
}
@media(max-width:1100px){
.project-v25 .pv25-hero h1{
font-size:clamp(54px,7.2vw,82px);
}
}
@media(max-width:640px){
.project-v25 .pv25-hero h1{
font-size:clamp(48px,14vw,68px);
letter-spacing:-.065em;
}
.project-v25 .dweb-project-actions{
flex-direction:column;
align-items:flex-start;
gap:16px;
}
.project-v25 .dweb-project-actions .dweb-project-cta-secondary{
order:2;
}
.project-v25 .dweb-project-actions .dweb-project-cta-primary{
order:1;
}
}
.dweb-browser-card{
display:flex;
flex-direction:column;
background:#eef3f3;
border:1px solid rgba(11,35,36,.20);
border-radius:16px!important;
overflow:hidden;
isolation:isolate;
}
.dweb-browser-bar{
position:relative;
z-index:4;
flex:0 0 42px;
min-height:42px;
display:flex;
align-items:center;
gap:12px;
padding:0 16px;
background:#f4f7f7;
border-bottom:1px solid rgba(11,35,36,.10);
color:#839091;
font-size:11px;
line-height:1;
letter-spacing:.01em;
white-space:nowrap;
overflow:hidden;
}
.dweb-browser-dots{
flex:0 0 auto;
display:flex;
gap:6px;
align-items:center;
}
.dweb-browser-dots i{
display:block;
width:8px;
height:8px;
border-radius:50%;
background:#ef776c;
}
.dweb-browser-dots i:nth-child(2){background:#dfbd62;}
.dweb-browser-dots i:nth-child(3){background:#75b89b;}
.dweb-browser-label{
min-width:0;
overflow:hidden;
text-overflow:ellipsis;
}
.dweb-browser-viewport{
position:relative;
display:block;
flex:1 1 auto;
min-height:0;
overflow:hidden;
background:#dce6e6;
}
.dweb-browser-viewport > img{
position:absolute;
top:0;
left:0;
display:block;
width:100%!important;
max-width:none!important;
height:auto!important;
min-height:0!important;
object-fit:initial!important;
object-position:top left!important;
border-radius:0!important;
transition:transform .8s cubic-bezier(.16,1,.3,1);
transform-origin:center top;
}
.work-card:hover .dweb-browser-viewport > img{
transform:scale(1.018);
}
.dweb-browser-viewport .card-tags{
top:14px;
left:14px;
z-index:3;
}
.dweb-browser-viewport .dweb-card-placeholder{
height:100%;
min-height:100%;
}
.dweb-archive .dweb-browser-bar{
min-height:46px;
flex-basis:46px;
padding-inline:17px;
font-size:11px;
}
.card-thumb.dweb-browser-card{
aspect-ratio:1.43;
}
.card-thumb.dweb-browser-card .dweb-browser-viewport img{
min-height:0!important;
}
@media(max-width:760px){
.dweb-browser-bar,
.dweb-archive .dweb-browser-bar{
min-height:38px;
flex-basis:38px;
padding-inline:13px;
gap:9px;
font-size:10px;
}
.dweb-browser-dots{gap:5px;}
.dweb-browser-dots i{
width:7px;
height:7px;
}
.dweb-browser-viewport .card-tags{
top:11px;
left:11px;
}
}
@media (max-width:760px){
.header-layout{
min-height:72px;
gap:10px;
}
.header-layout .brand{
width:clamp(148px,39vw,170px);
}
.header-actions{
gap:5px;
}
.mobile-menu-toggle{
width:44px;
height:44px;
}
.hero{
padding-top:30px;
}
.hero-left{
padding:0;
}
.hero-kicker{
margin-bottom:24px;
}
.hero h1{
max-width:100%;
font-size:clamp(47px,12.2vw,64px);
line-height:.99;
letter-spacing:-.072em;
}
.hero-lead{
max-width:100%;
margin-top:26px;
font-size:15px;
line-height:1.58;
}
.hero-links{
margin-top:27px;
gap:18px;
}
.button-black{
min-height:48px;
padding:13px 19px;
}
.hero-sidekick{
display:none;
}
.hero-right{
margin-top:38px;
}
.hero-image{
aspect-ratio:1.08;
border-radius:30px!important;
}
.hero-project-tag{
top:15px!important;
right:14px!important;
padding:9px 11px!important;
font-size:8px!important;
}
.scene-meta{
top:10%;
left:12%;
}
.web-browser-window{
left:9%;
top:24%;
width:86%;
height:58%;
}
.web-mobile-window{
right:4%;
bottom:9%;
width:27%;
height:38%;
}
.hero-under-image{
min-height:24px;
margin-top:12px;
padding:0 2px;
align-items:center;
}
.hero-visual-caption b{
font-size:10px;
letter-spacing:.01em;
}
.hero-indicators{
margin-left:auto;
}
.brand-statement{
margin-top:52px;
}
.card-thumb.dweb-browser-card{
aspect-ratio:1.32;
border-radius:14px!important;
}
.dweb-browser-bar,
.dweb-archive .dweb-browser-bar{
min-height:36px;
flex-basis:36px;
padding-inline:12px;
font-size:9px;
}
.dweb-browser-dots i{
width:6px;
height:6px;
}
.dweb-browser-label{
opacity:.82;
}
.card-info{
min-height:0;
padding-top:14px;
}
.card-info strong{
font-size:21px;
}
.card-info small{
margin-top:5px;
font-size:12px;
line-height:1.45;
}
}
@media (max-width:390px){
.wrap{
width:calc(100% - 28px);
}
.header-layout .brand{
width:142px;
}
.language{
gap:5px;
}
.hero h1{
font-size:clamp(44px,12vw,52px);
}
.hero-lead{
font-size:14px;
}
.hero-links{
gap:14px;
}
.button-black{
padding-inline:17px;
}
.hero-link-subtle{
font-size:12px;
}
.hero-right{
margin-top:32px;
}
.hero-image{
aspect-ratio:1.02;
border-radius:26px!important;
}
.hero-project-tag{
top:12px!important;
right:11px!important;
}
.brand-statement{
margin-top:44px;
}
}
.dweb-archive .dweb-archive-filters{
margin-top:56px;
margin-bottom:34px;
}
.dweb-archive .dweb-archive-filters .filter{
display:inline-flex;
align-items:center;
justify-content:center;
text-decoration:none;
}
.dweb-archive .dweb-archive-filters .filter.active{
cursor:default;
}
@media(max-width:760px){
.dweb-archive .dweb-archive-filters{
margin-top:34px;
margin-bottom:26px;
}
.dweb-archive .dweb-archive-filters .filter-controls{
display:flex;
flex-wrap:wrap;
gap:7px;
}
.dweb-archive .dweb-archive-filters .project-counter{
margin-top:14px;
}
}
.hero-corner-cta{
display:none!important;
}
.dweb-hero-slide-link{
display:block;
width:100%;
height:100%;
cursor:pointer;
}
.dweb-browser-bar{
gap:10px;
}
.dweb-browser-label{
flex:1 1 auto;
min-width:0;
}
.dweb-browser-category{
flex:0 0 auto;
display:inline-flex;
align-items:center;
justify-content:center;
max-width:42%;
padding:5px 9px;
border:1px solid rgba(11,35,36,.16);
border-radius:999px;
background:rgba(255,255,255,.66);
color:#536566;
font-size:9px;
font-weight:650;
line-height:1;
letter-spacing:.035em;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}
.dweb-browser-viewport .card-tags{
display:none!important;
}
@media(max-width:760px){
.dweb-browser-category{
max-width:38%;
padding:4px 7px;
font-size:8px;
}
}
@media(max-width:390px){
.dweb-browser-category{
max-width:34%;
}
}
.dweb-browser-categories{
flex:0 1 auto;
display:flex;
align-items:center;
justify-content:flex-end;
gap:4px;
max-width:52%;
min-width:0;
overflow:hidden;
}
.dweb-browser-categories .dweb-browser-category{
max-width:100%;
flex:0 1 auto;
}
.dweb-browser-categories .dweb-browser-category + .dweb-browser-category{
background:rgba(232,238,238,.88);
}
@media(max-width:760px){
.dweb-browser-categories{
max-width:48%;
gap:3px;
}
}
@media(max-width:430px){
.dweb-browser-categories{
max-width:44%;
}
.dweb-browser-categories .dweb-browser-category:nth-child(n+3){
display:none;
}
}
.dweb-arrow-up-right{
display:inline-block;
width:1em;
height:1em;
flex:0 0 auto;
vertical-align:-.12em;
overflow:visible;
}
.arr .dweb-arrow-up-right,
.card-arrow .dweb-arrow-up-right,
.browser-more .dweb-arrow-up-right{
width:1.05em;
height:1.05em;
}
.dweb-arrow-icon {
display: inline-block;
width: 1em;
height: 1em;
flex: 0 0 auto;
vertical-align: -0.14em;
color: inherit;
overflow: visible;
}
.hero-slider-arrow .dweb-arrow-icon { width: 17px; height: 17px; vertical-align: middle; }
.pv25-scroll-mark .dweb-arrow-icon { width: 18px; height: 18px; }
.pv25-back .dweb-arrow-icon, .pv26-preview-bottom .dweb-arrow-icon { width: 15px; height: 15px; }
.sub-footer a .dweb-arrow-icon { width: 13px; height: 13px; margin-left: 3px; }
.page-numbers .dweb-arrow-icon { width: 13px; height: 13px; }
.dwebmedia-theme-arrow-text { font-family: Arial, Helvetica, sans-serif; }
.dweb-arrow-heroicon {
display: inline-block;
flex: 0 0 auto;
width: .9em;
height: .9em;
stroke-width: 1.6;
vertical-align: -.09em;
color: inherit;
overflow: visible;
}
.arr .dweb-arrow-up-right,
.card-arrow .dweb-arrow-up-right,
.browser-more .dweb-arrow-up-right { width: .9em; height: .9em; }
.text-link .arr,
.button-black .arr,
.header-cta .arr,
.hero-link-subtle > span:last-child,
.card-arrow,
.browser-more { display: inline-flex; align-items: center; justify-content: center; }
.text-link .arr .dweb-arrow-heroicon { width: 18px; height: 18px; }
.button-black .arr .dweb-arrow-heroicon { width: 17px; height: 17px; }
.header-cta .arr .dweb-arrow-heroicon { width: 17px; height: 17px; }
.hero-link-subtle .dweb-arrow-heroicon { width: 16px; height: 16px; }
.card-arrow .dweb-arrow-heroicon { width: 20px; height: 20px; }
.browser-more .dweb-arrow-heroicon { width: 15px; height: 15px; }
.contact-email .dweb-arrow-heroicon { width: 20px; height: 20px; }
.dweb-social .dweb-arrow-heroicon { width: 14px; height: 14px; }
.dweb-project-visit .dweb-arrow-heroicon { width: 16px; height: 16px; }
.hero-slider-arrow .dweb-arrow-heroicon { width: 16px; height: 16px; stroke-width: 1.6; vertical-align: middle; }
.pv25-scroll-mark .dweb-arrow-heroicon { width: 17px; height: 17px; }
.pv25-back .dweb-arrow-heroicon { width: 15px; height: 15px; }
.project-v25 .pv26-preview-bottom .dweb-arrow-heroicon { width: 19px; height: 19px; }
.sub-footer a .dweb-arrow-heroicon { width: 14px; height: 14px; margin-left: 2px; }
.page-numbers .dweb-arrow-heroicon { width: 14px; height: 14px; }
@media (max-width: 760px) {
.text-link .arr .dweb-arrow-heroicon { width: 17px; height: 17px; }
.hero-link-subtle .dweb-arrow-heroicon { width: 15px; height: 15px; }
.card-arrow .dweb-arrow-heroicon { width: 19px; height: 19px; }
.contact-email .dweb-arrow-heroicon { width: 18px; height: 18px; }
}
@media (max-width:760px) {
#logofal .dweb-logo-wall-gallery {
grid-template-columns:repeat(2,minmax(0,1fr));
grid-auto-rows:80px;
gap:14px 16px;
align-items:stretch;
}
#logofal .dweb-logo-wall-gallery .dweb-logo-image-tile {
min-width:0;
min-height:0;
height:100%;
padding:10px 8px;
opacity:1;
}
#logofal .dweb-logo-wall-gallery img.dweb-partner-logo {
width:auto!important;
height:auto!important;
max-width:min(100%,148px)!important;
max-height:60px!important;
object-fit:contain!important;
filter:brightness(.85)!important;
}
}
@media (max-width:360px) {
#logofal .dweb-logo-wall-gallery {
grid-auto-rows:72px;
gap:12px;
}
#logofal .dweb-logo-wall-gallery .dweb-logo-image-tile {
padding:10px 6px;
}
#logofal .dweb-logo-wall-gallery img.dweb-partner-logo {
max-height:52px!important;
}
}
@media (max-width:760px) and (hover:none) {
#logofal .dweb-logo-wall-gallery .dweb-logo-image-tile:hover {
opacity:1;
transform:none;
}
}
.dweb-service-page .sub-cta-row {
display: flex;
flex-flow: row wrap;
align-items: center;
gap: clamp(14px, 1.7vw, 24px);
}
.dweb-service-page .sub-cta-row .dweb-service-back {
display: inline-flex;
align-items: center;
justify-content: flex-start;
min-width: 0;
gap: 9px;
padding: 0 0 6px;
border-bottom: 1px solid #8fa3a4;
color: #0b2324;
font-size: 13px;
font-weight: 650;
line-height: 1.35;
text-decoration: none;
transition: color .2s, border-color .2s, transform .2s;
}
.dweb-service-page .sub-cta-row .dweb-service-back:hover {
color: #e94b2b;
border-bottom-color: #e94b2b;
transform: translateX(2px);
}
.dweb-service-page .sub-cta-row .dweb-service-back > span {
display: inline-flex;
flex: 0 0 auto;
align-items: center;
}
.dweb-service-page .sub-cta-row .dweb-service-back .dweb-arrow-heroicon {
width: 15px;
height: 15px;
}
@media (max-width: 760px) {
.project-v25 .dweb-project-actions {
display: grid;
grid-template-columns: minmax(0, .94fr) minmax(0, 1.12fr);
align-items: center;
gap: clamp(8px, 2.4vw, 12px);
width: 100%;
margin-top: 28px;
}
.project-v25 .dweb-project-actions .dweb-project-cta-secondary,
.project-v25 .dweb-project-actions .dweb-project-cta-primary {
min-width: 0;
width: 100%;
font-size: clamp(10px, 2.75vw, 13px);
line-height: 1.25;
white-space: normal;
}
.project-v25 .dweb-project-actions .dweb-project-cta-secondary {
order: 1;
justify-content: flex-start;
text-align: left;
gap: clamp(5px, 1.6vw, 9px);
padding: 0 0 6px;
}
.project-v25 .dweb-project-actions .dweb-project-cta-primary {
order: 2;
justify-content: center;
text-align: center;
gap: clamp(5px, 1.6vw, 9px);
min-height: 54px;
padding: 11px clamp(8px, 2.5vw, 15px);
}
.project-v25 .dweb-project-actions .dweb-project-cta-primary > span,
.project-v25 .dweb-project-actions .dweb-project-cta-secondary > span {
display: inline-flex;
flex: 0 0 auto;
align-items: center;
}
.dweb-service-page .sub-cta-row {
display: grid;
grid-template-columns: minmax(0, .93fr) minmax(0, 1.07fr);
gap: clamp(8px, 2.4vw, 12px);
align-items: center;
width: 100%;
margin-top: 32px;
}
.dweb-service-page .sub-cta-row > .button-black {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 0;
width: 100%;
min-height: 54px;
padding: 11px clamp(8px, 2.5vw, 15px);
gap: clamp(5px, 1.6vw, 9px);
font-size: clamp(10px, 2.75vw, 13px);
line-height: 1.25;
text-align: center;
white-space: normal;
}
.dweb-service-page .sub-cta-row > .button-black > svg {
flex: 0 0 auto;
width: 15px;
height: 15px;
}
.dweb-service-page .sub-cta-row .dweb-service-back {
width: 100%;
gap: clamp(5px, 1.6vw, 9px);
font-size: clamp(10px, 2.75vw, 13px);
line-height: 1.3;
white-space: normal;
}
}
body.error404{background:#E8EEEE;color:#0B2324}
body.error404 .site-header{background:#E8EEEE}
.dweb-404-main{overflow:hidden}
.dweb-404{padding:clamp(54px,7vw,104px) 0 clamp(70px,8vw,120px)}
.dweb-404-grid{display:grid;grid-template-columns:minmax(0,.98fr) minmax(460px,1.02fr);gap:clamp(56px,8vw,126px);align-items:center;min-height:640px}
.dweb-404-copy{min-width:0}
.dweb-404-rule{display:flex;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid #C7D3D3;color:#748687;font-size:9px;font-weight:760;letter-spacing:.15em}
.dweb-404-kicker{margin:46px 0 22px;color:#E94B2B;font-size:10px;font-weight:760;letter-spacing:.17em}
.dweb-404 h1{margin:0;color:#0B2324;font-family:'Inter Display','Helvetica Neue',Arial,sans-serif;line-height:.84;letter-spacing:-.085em}
.dweb-404 h1>span{display:block;font-size:clamp(120px,14vw,224px);font-weight:680}
.dweb-404 h1>small{display:block;max-width:690px;margin-top:18px;font-size:clamp(48px,5.2vw,82px);font-weight:560;line-height:.95;letter-spacing:-.068em}
.dweb-404-lead{max-width:600px;margin-top:38px;color:#586D6E;font-size:17px;line-height:1.72}
.dweb-404-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:38px}
.dweb-404-textlink{display:inline-flex;align-items:center;gap:10px;padding:8px 0 6px;border-bottom:1px solid #8EA0A1;font-size:13px;font-weight:680;transition:color .2s,border-color .2s,transform .2s}
.dweb-404-textlink:hover{color:#E94B2B;border-color:#E94B2B;transform:translateX(2px)}
.dweb-404-textlink svg{width:16px;height:16px}
.dweb-404-visual{position:relative;min-width:0;padding:18px 0 26px}
.dweb-404-route{position:relative;isolation:isolate;min-height:610px;border-radius:58px;background:linear-gradient(145deg,#DDE6E6 0%,#F3F5F1 54%,#E2EAEA 100%);box-shadow:inset 0 0 0 1px rgba(11,35,36,.06),0 34px 90px rgba(11,35,36,.08);overflow:hidden}
.dweb-404-route:before{content:'';position:absolute;width:390px;height:390px;right:-106px;top:-132px;border-radius:50%;border:1px solid rgba(11,35,36,.10);box-shadow:0 0 0 66px rgba(11,35,36,.025),0 0 0 132px rgba(11,35,36,.018)}
.dweb-404-route:after{content:'';position:absolute;width:170px;height:170px;left:-45px;bottom:-52px;border-radius:50%;background:rgba(233,75,43,.08)}
.dweb-404-route-label{position:absolute;z-index:4;top:46px;left:50px;color:#708384;font-size:9px;font-weight:780;letter-spacing:.18em}
.dweb-404-route-lines{position:absolute;z-index:1;inset:0;width:100%;height:100%}
.route-line{stroke:#0B2324;stroke-width:1.3;vector-effect:non-scaling-stroke}
.route-line-main{stroke-dasharray:10 11;opacity:.68}
.route-line-soft{opacity:.13}
.route-line-short{stroke:#E94B2B;stroke-dasharray:5 10;opacity:.75}
.dweb-404-node{position:absolute;z-index:5;display:flex;align-items:center;gap:10px;color:#6A7F80;font-size:8px;font-weight:760;letter-spacing:.15em;white-space:nowrap}
.dweb-404-node i{display:block;width:13px;height:13px;border-radius:50%;background:#E94B2B;box-shadow:0 0 0 7px rgba(233,75,43,.12)}
.dweb-404-node-start{left:8.5%;bottom:16%}
.dweb-404-node-home{right:7%;top:9.5%;flex-direction:row-reverse}
.dweb-404-node-home i{background:#0B2324;box-shadow:0 0 0 7px rgba(11,35,36,.09)}
.dweb-404-route-arrow{position:absolute;z-index:6;right:18%;top:38%;display:grid;place-items:center;width:112px;height:112px;border-radius:50%;background:#E94B2B;color:#fff;box-shadow:0 22px 55px rgba(233,75,43,.24);transform:rotate(-5deg)}
.dweb-404-route-arrow svg{width:44px;height:44px;stroke-width:1.2}
.dweb-404-route-card{position:absolute;z-index:5;display:flex;flex-direction:column;gap:9px;min-width:194px;padding:18px 20px;border:1px solid rgba(11,35,36,.13);background:rgba(244,240,231,.92);backdrop-filter:blur(8px);box-shadow:0 18px 44px rgba(11,35,36,.07)}
.dweb-404-route-card span{color:#758889;font-size:8px;font-weight:770;letter-spacing:.16em}
.dweb-404-route-card strong{font-size:18px;font-weight:620;letter-spacing:-.035em}
.dweb-404-route-card-work{left:10%;top:22%;transform:rotate(-3deg)}
.dweb-404-route-card-contact{right:7%;bottom:11%;transform:rotate(3deg)}
.dweb-404-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:66px;padding-top:26px;border-top:1px solid #C7D3D3}
.dweb-404-bottom>span{color:#7B8D8E;font-size:9px;font-weight:760;letter-spacing:.15em}
.dweb-404-bottom a{display:inline-flex;align-items:center;gap:12px;font-size:15px;font-weight:680}
.dweb-404-bottom a svg{width:17px;height:17px;transition:transform .2s}
.dweb-404-bottom a:hover svg{transform:translate(3px,-3px)}
@media(max-width:1100px){
.dweb-404-grid{grid-template-columns:1fr;min-height:0}
.dweb-404-visual{max-width:800px;width:100%;margin-inline:auto}
.dweb-404 h1>small{max-width:850px}
.dweb-404-route{min-height:520px}
}
@media(max-width:760px){
.dweb-404{padding-top:38px}
.dweb-404-grid{gap:42px}
.dweb-404-rule span:last-child{display:none}
.dweb-404-kicker{margin-top:34px}
.dweb-404 h1>span{font-size:34vw}
.dweb-404 h1>small{font-size:12.7vw;line-height:.98}
.dweb-404-lead{font-size:15px;margin-top:28px}
.dweb-404-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;margin-top:32px}
.dweb-404-actions .button-black,.dweb-404-textlink{width:100%;min-width:0;font-size:11px;line-height:1.25}
.dweb-404-actions .button-black{justify-content:space-between;padding-inline:15px}
.dweb-404-textlink{justify-content:space-between}
.dweb-404-visual{padding:4px 0 18px}
.dweb-404-route{min-height:430px;border-radius:34px}
.dweb-404-route-label{top:30px;left:28px}
.dweb-404-route-arrow{right:14%;top:38%;width:78px;height:78px}
.dweb-404-route-arrow svg{width:31px;height:31px}
.dweb-404-route-card{min-width:155px;padding:14px 15px}
.dweb-404-route-card strong{font-size:15px}
.dweb-404-route-card-work{left:7%;top:23%}
.dweb-404-route-card-contact{right:5%;bottom:9%}
.dweb-404-node-start{left:7%;bottom:15%}
.dweb-404-node-home{right:6%;top:9%}
.dweb-404-bottom{align-items:flex-start;flex-direction:column;margin-top:40px}
}
@media(max-width:420px){
.dweb-404-actions{grid-template-columns:1fr}
.dweb-404-route{min-height:380px}
.dweb-404-route-card{min-width:136px;padding:12px 13px}
.dweb-404-route-card strong{font-size:14px}
.dweb-404-route-card-work{left:5%;top:22%}
.dweb-404-route-card-contact{right:4%;bottom:8%}
.dweb-404-route-arrow{width:68px;height:68px;right:12%;top:39%}
.dweb-404-node span{display:none}
}
