:root{--navy:#08072b;--navy2:#111535;--blue:#009df5;--blue-deep:#0076bb;--text:#151930;--muted:#515a6b;--paper:#f5f7fb;--white:#fff;--stroke:#dce2ec;--font:'Work Sans',Arial,sans-serif;--display:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--text);font:400 17px/1.65 var(--font);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-family:var(--display);line-height:1.13;letter-spacing:-.047em}h1{font-weight:800}h2{font-weight:800}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}a,button{transition:background-color .2s,color .2s,border-color .2s}img{display:block;max-width:100%}em{font-style:normal;color:var(--blue)}.shell{width:min(1300px,calc(100% - 96px));margin:0 auto}.section{padding:116px 0}.section-bottom{padding-top:28px;padding-bottom:116px}.light-section{background:var(--paper)}.skip{position:absolute;top:-100px;background:white;padding:15px;z-index:150}.skip:focus{top:0}.header{height:92px;position:sticky;top:0;z-index:80;background:rgba(255,255,255,.98);border-bottom:1px solid #e9edf3}.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:32px}.logo{display:flex;align-items:center;gap:11px;flex-shrink:0}.logo-mark{width:45px;height:45px;background:var(--blue);color:white;font:800 27px/45px var(--display);text-align:center;position:relative;border-radius:11px}.logo-mark span{font-size:16px;position:absolute;right:3px;top:-5px}.logo-name{color:var(--navy);font:800 26px/1 var(--display);letter-spacing:-.07em}.logo-name>span{color:var(--blue)}.logo-name small{display:block;font:700 14px/1.5 var(--font);letter-spacing:.24em;text-align:right;margin-top:2px}.menu{display:flex;gap:32px;align-items:center}.menu a{font-size:16px;font-weight:600;white-space:nowrap;color:#343d51}.menu a:hover,.footer a:hover{color:var(--blue)}.nav-action{background:var(--navy);padding:14px 18px;color:white;font-size:16px;font-weight:700;white-space:nowrap;display:flex;align-items:center;gap:22px}.nav-action:hover{background:var(--blue)}.menu-button,.mobile-contact{display:none!important}.eyebrow{font-size:14px;letter-spacing:.145em;font-weight:700;color:var(--blue-deep);display:inline-flex;align-items:center;gap:12px;line-height:1.5}.eyebrow.light{color:#97dfff}.pulse{height:9px;width:9px;background:var(--blue);border-radius:50%;box-shadow:0 0 0 6px #009df529}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--blue);color:#fff;padding:17px 24px;border:2px solid var(--blue);font-size:16px;font-weight:700;line-height:1.3;min-height:58px}.btn:hover{background:var(--blue-deep);border-color:var(--blue-deep)}.btn.secondary{color:var(--text);background:transparent;border-color:var(--stroke)}.btn.secondary:hover{background:var(--navy);color:#fff;border-color:var(--navy)}.actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.hero{background:var(--navy);color:white;overflow:hidden}.hero-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;min-height:724px;align-items:center;padding:76px 0 80px}.hero-copy h1{font-size:clamp(61px,5.65vw,94px);letter-spacing:-.07em;line-height:1.09;margin:26px 0}.dot{color:var(--blue)}.hero-copy>p{max-width:570px;color:#c5cadb;font-size:20px;line-height:1.75;margin:0 0 34px}.hero .btn.secondary,.inner-hero .btn.secondary{color:white;border-color:#65708a}.hero .btn.secondary:hover,.inner-hero .btn.secondary:hover{background:#fff;border-color:#fff;color:var(--navy)}.hero-caption{display:flex;justify-content:space-between;max-width:500px;border-top:1px solid #505572;margin-top:80px;padding-top:18px;font-size:14px;color:#a4aec9;letter-spacing:.09em;font-weight:600}.hero-display{min-width:0;background:#15355c;border:1px solid #2e4f78;padding:14px;transform:rotate(1deg);box-shadow:24px 26px 0 #00000030}.display-top{display:flex;justify-content:space-between;letter-spacing:.08em;font-size:14px;color:#d6e7ff;padding:6px 6px 17px}.display-inner{background:#edf7ff;min-height:480px;color:var(--navy);overflow:hidden;padding:34px 25px 0}.display-text{font:500 clamp(27px,3vw,50px)/1.2 var(--display);letter-spacing:-.06em}.display-text strong{color:var(--blue-deep)}.display-screen{margin:40px -5px 0;border:9px solid #15355c;border-bottom:0;border-radius:13px 13px 0 0;overflow:hidden;height:252px;box-shadow:0 0 35px #234b682b}.display-screen img{width:100%;height:100%;object-fit:cover;object-position:top}.display-bottom{height:44px;display:flex;align-items:center;justify-content:space-around;font-size:14px;font-weight:700;white-space:nowrap;color:#46546b;letter-spacing:.02em}.display-bottom span{color:var(--blue)}.hero-edge{border-top:1px solid #424668}.hero-edge .shell{padding:18px 0;display:flex;justify-content:space-between;color:#a5b4c8;font-size:14px;font-weight:600}.section-top{display:grid;grid-template-columns:240px 1fr;gap:42px;margin-bottom:62px}.section-top h2{font-size:clamp(43px,4.3vw,71px);line-height:1.14;margin:0}.section-top p{max-width:680px;color:var(--muted);font-size:18px;margin:22px 0 0}.intro-bottom{display:flex;justify-content:space-between;align-items:end;margin-left:282px;gap:40px;border-top:1px solid var(--stroke);padding-top:24px}.intro-bottom p{max-width:670px;margin:0;color:var(--muted);font-size:18px}.inline-link{font-size:16px;font-weight:700;white-space:nowrap;border-bottom:2px solid var(--blue);padding-bottom:7px}.inline-link span{margin-left:20px}.services-list{border-top:1px solid #cfd6e1}.service-line{display:grid;grid-template-columns:70px 1fr 52px;gap:20px;align-items:center;border-bottom:1px solid #cfd6e1;padding:30px 10px}.service-line>span{color:var(--blue-deep);font:700 16px var(--font)}.service-line h3{font-size:clamp(26px,2.7vw,40px);margin:0 0 10px}.service-line p{margin:0;color:var(--muted);font-size:17px}.service-line b{font:500 32px var(--font);color:var(--blue)}.service-line:hover{background:white;padding-left:24px}.row-end{display:flex;justify-content:flex-end;margin-top:44px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.project{min-width:0}.project-visual{height:auto;aspect-ratio:1.21;background:#e8f0f8;overflow:hidden}.project-visual img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .55s}.project:hover .project-visual img{transform:scale(1.05)}.project-type-art{display:flex;flex-direction:column;justify-content:space-between;padding:27px;height:100%;background:linear-gradient(135deg,#0d1336 0%,#16466a 100%);color:white}.project:nth-child(even) .project-type-art{background:linear-gradient(135deg,#0c2f51,#0087c5)}.project-type-art span{font-size:14px;letter-spacing:.06em}.project-type-art strong{font:800 clamp(27px,2.5vw,38px)/1.1 var(--display);letter-spacing:-.055em}.project-type-art i{font:400 30px var(--font);align-self:flex-end}.project-info{display:flex;justify-content:space-between;gap:12px;padding:21px 0}.project-info span{font-size:14px;color:var(--blue-deep);font-weight:700}.project-info h3{font-size:25px;margin:7px 0}.project-info p{font-size:15px;color:var(--muted);margin:0}.project-arr{font-size:26px;color:var(--blue)}.manifesto{padding:120px 0;background:var(--navy);color:white}.manifesto-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:100px}.manifesto h2{font-size:clamp(56px,5.5vw,86px);margin:32px 0 0}.manifesto-content{padding-top:38px}.manifesto-content>p{font-size:21px;line-height:1.7;color:#bec9dc;margin-bottom:55px}.manifesto-content>div{display:grid;grid-template-columns:60px 1fr;border-top:1px solid #515978;padding:21px 0;font-size:19px}.manifesto-content b{color:var(--blue)}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-bottom:42px}.steps article{padding:24px 22px;background:#fff;border-top:3px solid var(--blue);min-height:265px}.steps article>span{font:700 16px var(--font);color:var(--blue-deep)}.steps h3{font-size:26px;margin:48px 0 12px}.steps p{font-size:16px;color:var(--muted);line-height:1.7}.faq-layout{display:grid;grid-template-columns:1fr 2fr;gap:70px}.faq-layout>p{font-size:18px;max-width:310px;color:var(--muted)}.faq{border-top:1px solid var(--stroke)}.faq details{border-bottom:1px solid var(--stroke)}.faq summary{padding:23px 5px;cursor:pointer;font-weight:700;font-size:18px;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq summary::-webkit-details-marker{display:none}.faq summary span{color:var(--blue);font-size:25px;line-height:1}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{font-size:17px;color:var(--muted);padding:0 35px 23px 5px;margin:0}.cta-inline{display:flex;align-items:center;justify-content:space-between;gap:35px;background:var(--blue);color:white;padding:65px 75px}.cta-inline h2{font-size:clamp(38px,4vw,62px);margin:16px 0}.cta-inline p{font-size:18px;margin:0;max-width:660px}.cta-inline .btn{background:var(--navy);border-color:var(--navy);white-space:nowrap}.cta-inline .btn:hover{background:#1d2459}.footer{background:#05071f;color:#fff;padding:100px 0 30px}.footer-head{display:flex;justify-content:space-between;align-items:center;gap:50px;padding-bottom:85px}.footer-head h2{font-size:clamp(52px,5.9vw,96px);margin:22px 0}.footer-head p{font-size:18px;color:#bdc7d9;max-width:480px}.round-cta{width:195px;height:195px;border-radius:50%;background:var(--blue);display:flex;flex-direction:column;justify-content:center;align-items:center;font:800 26px var(--display);transform:rotate(-10deg);flex-shrink:0}.round-cta span{font-size:36px}.round-cta:hover{transform:rotate(0deg);background:var(--blue-deep)}.footer-grid{border-top:1px solid #353956;padding:55px 0;display:grid;grid-template-columns:2.1fr 1fr 1.4fr 1fr;gap:45px}.footer-brand{font:800 44px var(--display);letter-spacing:-.07em}.footer-brand span{color:var(--blue)}.footer-grid>div{display:flex;flex-direction:column;gap:9px}.footer-grid p{color:#bbc5d7;font-size:16px;max-width:350px;margin-bottom:15px}.footer-grid h3{font:700 17px var(--font);letter-spacing:.06em;margin:7px 0 16px}.footer-grid a{font-size:16px;color:#c2c9d8}.footer-base{border-top:1px solid #353956;padding-top:25px;display:flex;justify-content:space-between;gap:20px;font-size:15px;color:#bdc4d3}.inner-hero{background:var(--navy);color:white;padding:106px 0 122px;overflow:hidden;position:relative}.inner-hero:after{content:'';position:absolute;width:420px;height:420px;border-radius:50%;border:1px solid #225579;right:-170px;top:-165px;pointer-events:none;box-shadow:0 0 0 90px #009df509,0 0 0 180px #009df507}.inner-hero .shell{position:relative;z-index:1}.inner-hero h1{font-size:clamp(54px,6.4vw,100px);max-width:1050px;line-height:1.12;margin:28px 0}.inner-hero p{font-size:21px;color:#c9d5e5;max-width:760px;line-height:1.7;margin:0}.service-header h1{font-size:clamp(51px,5.7vw,86px)}.service-header .actions{margin-top:36px}.crumb{font-size:15px;color:#9eacc6;margin:0 0 62px}.crumb a{text-decoration:underline;text-underline-offset:3px}.service-intro,.case-details{display:grid;grid-template-columns:240px 1fr;gap:45px}.service-intro h2,.case-details h2{font-size:clamp(43px,4.4vw,68px)}.service-intro p,.case-details p{max-width:820px;font-size:19px;line-height:1.85;color:var(--muted)}.problem-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:90px}.problem-number{background:var(--navy);padding:40px;color:white;font:800 clamp(28px,3vw,47px)/1.2 var(--display);display:flex;flex-direction:column;justify-content:space-between;min-height:370px}.problem-number span{font-size:75px;color:var(--blue)}.lead{font-size:21px;line-height:1.7}.problem-list{list-style:none;padding:0;margin:30px 0}.problem-list li{font-size:19px;padding:23px 0 23px 36px;border-top:1px solid #cfd6e1;position:relative}.problem-list li:before{content:'↗';color:var(--blue);position:absolute;left:0}.deliverables-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.deliverable{padding:36px 30px;border:1px solid var(--stroke);min-height:265px}.deliverable>span{font-size:16px;color:var(--blue-deep);font-weight:700}.deliverable h3{font-size:26px;margin:34px 0 15px}.deliverable p{color:var(--muted);font-size:16px}.dark-panel{background:var(--navy);color:white}.dark-panel .section-top h2{font-size:clamp(43px,4.5vw,70px)}.process-stack{border-top:1px solid #384464}.process-item{display:grid;grid-template-columns:110px 1fr;gap:35px;padding:30px 10px;border-bottom:1px solid #384464}.process-item>b{font-size:20px;color:var(--blue);font-weight:700}.process-item h3{font-size:28px;margin:0 0 14px}.process-item p{font-size:17px;line-height:1.7;color:#c1cee0;max-width:800px;margin:0}.process-stack.bright{border-color:var(--stroke)}.bright .process-item{border-color:var(--stroke)}.bright .process-item p{color:var(--muted)}.fit-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:90px}.fit-layout>p{font-size:20px;color:var(--muted);line-height:1.8}.fit-tags{display:flex;flex-wrap:wrap;gap:13px;align-content:start}.fit-tags span{border:1px solid #d6deea;padding:15px 18px;font-size:17px;font-weight:600}.overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px}.overview-card{border:1px solid var(--stroke);padding:39px;min-height:260px;display:flex;flex-direction:column;align-items:flex-start}.overview-card>span{font-size:16px;color:var(--blue-deep);font-weight:700}.overview-card h2{font-size:32px;margin:29px 0 17px}.overview-card p{font-size:17px;color:var(--muted);margin:0 0 22px}.overview-card b{font-size:16px;color:var(--blue-deep);margin-top:auto}.overview-card .btn{margin-top:auto}.overview-card:hover{border-color:var(--blue)}.filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:40px}.filters button{padding:12px 17px;border:1px solid var(--stroke);background:#fff;color:var(--text);font-size:16px;font-weight:600}.filters button.active,.filters button:hover{background:var(--navy);border-color:var(--navy);color:#fff}.filter-item[hidden]{display:none}.case-media{margin-top:-54px;position:relative;z-index:2}.case-img{width:100%;max-height:780px;object-fit:contain;background:#e5edf4;box-shadow:0 18px 55px #11162c24}.case-placeholder{background:#102e54;min-height:430px;color:white;display:flex;flex-direction:column;justify-content:space-between;padding:50px}.case-placeholder span{font-size:16px;letter-spacing:.1em}.case-placeholder strong{font:800 clamp(48px,7vw,92px)/1.05 var(--display)}.case-placeholder p{font-size:17px}.case-details h3{font-size:26px;margin:38px 0 12px}.contact-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:90px}.contact-layout h2,.quote-aside h2{font-size:clamp(43px,4vw,68px);margin:26px 0}.contact-layout>div>p,.quote-aside p{font-size:19px;color:var(--muted);max-width:510px}.email-big{font:700 clamp(22px,2.6vw,35px) var(--display);border-bottom:2px solid var(--blue);display:inline-block;margin-top:35px;padding-bottom:10px}.contact-form-box{background:var(--paper);padding:42px}.contact-form-box h3{font-size:32px}.contact-form-box label,.quote-form label:not(.choice):not(.consent){display:flex;flex-direction:column;gap:8px;font-weight:600;font-size:16px;margin-bottom:24px}.contact-form-box input,.contact-form-box select,.contact-form-box textarea,.quote-form input:not([type=radio]):not([type=checkbox]),.quote-form textarea,.quote-form select{background:#fff;border:1px solid #c6cedb;min-height:53px;padding:13px 15px;color:var(--text);width:100%;font-size:17px;border-radius:0}.contact-form-box textarea,.quote-form textarea{resize:vertical}.form-footnote,.form-state{font-size:15px;color:var(--muted);line-height:1.6;margin-top:15px}.form-state.error{color:#a42e28}.form-state.success{color:#126445}.form-footnote a{text-decoration:underline}.hidden-field{position:absolute;left:-9999px}.quote-wrap{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}.quote-aside>a{font-weight:700;border-bottom:2px solid var(--blue);display:inline-block;margin-top:25px}.quote-form{border:1px solid var(--stroke);padding:44px}.quote-progress{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:15px;letter-spacing:.08em;font-weight:700;margin-bottom:42px}.quote-progress>div{width:170px;height:5px;background:var(--stroke)}.quote-progress i{display:block;width:25%;height:100%;background:var(--blue);transition:width .25s}.quote-form fieldset{border:0;padding:0;min-width:0}.quote-form legend{font:800 clamp(29px,3vw,42px)/1.2 var(--display);letter-spacing:-.04em;margin-bottom:20px}.field-hint{color:var(--muted);font-size:17px;margin-bottom:24px}.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.choice{display:block;position:relative}.choice input{position:absolute;opacity:0;width:1px;height:1px}.choice span{display:block;border:1px solid #cdd6e4;padding:16px 17px;min-height:60px;font-size:16px;font-weight:600;cursor:pointer}.choice input:checked+span{background:#e8f5ff;border-color:var(--blue);color:#075a98}.choice input:focus-visible+span{outline:3px solid var(--blue);outline-offset:2px}.quote-form .consent{display:flex;gap:12px;align-items:start;font-size:16px;margin-top:20px}.quote-form .consent input{width:20px;height:20px;flex-shrink:0;margin-top:4px}.quote-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:34px}.back-link{background:transparent;border:0;font-size:17px;font-weight:700}.quote-controls .btn{margin-left:auto}.notice{margin-top:45px;border-left:4px solid var(--blue);background:var(--paper);padding:28px 33px}.notice h3{font-size:27px}.notice p{font-size:17px;max-width:800px}.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.blog-card{background:var(--paper);padding:34px;min-height:380px;display:flex;flex-direction:column}.blog-card>span{font-size:14px;letter-spacing:.08em;color:var(--blue-deep);font-weight:700}.blog-card h2{font-size:29px;margin:43px 0 20px}.blog-card p{font-size:17px;color:var(--muted)}.blog-card b{color:var(--blue-deep);font-size:16px;margin-top:auto}.article-body{width:min(820px,calc(100% - 44px));margin:0 auto;padding:90px 0}.article-body .article-lead{font-size:22px;color:var(--text);line-height:1.7}.article-body section{padding:25px 0;border-bottom:1px solid var(--stroke)}.article-body h2{font-size:34px;margin-bottom:18px}.article-body p{font-size:18px;line-height:1.9;color:var(--muted)}.article-end{margin-top:55px;padding:30px;background:var(--paper);font-weight:600}.article-end a,.legal a{color:var(--blue-deep);text-decoration:underline}.error-hero .btn{margin-top:35px}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:3px} [hidden]{display:none!important}
@media(max-width:1120px){.shell{width:calc(100% - 64px)}.nav{gap:18px}.menu{gap:17px}.logo-name{font-size:22px}.logo-mark{width:40px;height:40px}.hero-layout{gap:28px}.hero-copy h1{font-size:clamp(55px,6.2vw,77px)}.display-inner{min-height:400px}.display-screen{height:210px}.project-grid{gap:18px}.section-top{grid-template-columns:190px 1fr}.intro-bottom{margin-left:232px}.footer-grid{gap:22px}}
@media(max-width:850px){.header{height:76px}.nav-action{margin-left:auto}.menu-button{display:flex!important;align-items:center;gap:12px;background:transparent;border:1px solid var(--stroke);padding:11px 13px;font-size:16px;font-weight:700;order:3}.menu{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;padding:25px 32px;box-shadow:0 20px 35px #121a2a1c;flex-direction:column;align-items:stretch;gap:20px}.menu.open{display:flex}.mobile-contact{display:block!important}.hero-layout{grid-template-columns:1fr;padding:65px 0}.hero-display{max-width:650px;width:100%;margin:auto;transform:none}.hero-caption{margin-top:44px}.section{padding:85px 0}.section-top{grid-template-columns:1fr;gap:22px;margin-bottom:45px}.section-top h2{font-size:clamp(40px,5.5vw,66px)}.intro-bottom{margin-left:0}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.manifesto-grid{grid-template-columns:1fr;gap:26px}.steps{grid-template-columns:repeat(2,1fr)}.faq-layout,.contact-layout,.quote-wrap{grid-template-columns:1fr;gap:38px}.deliverables-grid{grid-template-columns:repeat(2,1fr)}.overview-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}.service-intro,.case-details{grid-template-columns:1fr}.problem-layout{gap:30px}.fit-layout{gap:40px}.blog-grid{grid-template-columns:repeat(2,1fr)}.cta-inline{padding:45px}.footer-head h2{font-size:60px}}
@media(max-width:600px){body{font-size:17px}.shell{width:calc(100% - 36px)}.header{height:72px}.menu{top:72px}.nav-action{display:none}.logo-mark{width:39px;height:39px}.logo-name{font-size:22px}.hero-layout{padding:50px 0}.hero-copy h1{font-size:clamp(47px,10.8vw,68px)}.hero-copy>p{font-size:18px}.hero-caption{gap:20px;flex-wrap:wrap}.hero-display{box-shadow:10px 12px 0 #0005}.display-inner{min-height:345px;padding:24px 15px 0}.display-text{font-size:30px}.display-screen{height:180px;margin-top:30px}.display-bottom{font-size:14px}.hero-edge .shell span:last-child{display:none}.section{padding:68px 0}.section-bottom{padding:20px 0 75px}.section-top h2{font-size:clamp(35px,9vw,49px)}.section-top p{font-size:17px}.intro-bottom{display:block}.intro-bottom p{font-size:17px;margin-bottom:20px}.service-line{grid-template-columns:38px 1fr 20px;gap:8px;padding:26px 0}.service-line h3{font-size:25px}.service-line p{font-size:16px}.service-line b{font-size:22px}.project-grid,.deliverables-grid,.overview-grid,.blog-grid{grid-template-columns:1fr}.project-visual{aspect-ratio:1.35}.manifesto{padding:70px 0}.manifesto h2{font-size:49px}.manifesto-content>p{font-size:19px}.steps{grid-template-columns:1fr;gap:12px}.steps article{min-height:0}.steps h3{margin:22px 0 10px}.faq-layout{gap:15px}.faq summary{font-size:17px}.cta-inline{display:block;padding:36px 24px}.cta-inline h2{font-size:40px}.cta-inline .btn{margin-top:26px;white-space:normal}.footer{padding-top:70px}.footer-head{display:block;padding-bottom:50px}.footer-head h2{font-size:52px}.round-cta{width:145px;height:145px;font-size:21px;margin-top:30px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 20px}.footer-grid>div:first-child{grid-column:1/-1}.footer-brand{font-size:38px}.footer-base{flex-direction:column}.inner-hero{padding:76px 0 88px}.inner-hero h1,.service-header h1{font-size:clamp(42px,9.3vw,62px)}.inner-hero p{font-size:18px}.crumb{margin-bottom:38px}.service-intro h2,.case-details h2{font-size:43px}.service-intro p,.case-details p{font-size:17px}.problem-layout,.fit-layout{grid-template-columns:1fr}.problem-number{min-height:210px}.deliverable{min-height:0}.deliverable h3{margin-top:20px}.process-item{grid-template-columns:50px 1fr;gap:12px}.process-item h3{font-size:24px}.fit-tags span{font-size:16px}.overview-card{min-height:0;padding:28px}.contact-form-box,.quote-form{padding:23px}.choices{grid-template-columns:1fr}.quote-progress>div{width:105px}.case-media{margin-top:-20px}.case-placeholder{min-height:260px;padding:28px}.blog-card{min-height:290px}.article-body{padding:55px 0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* V4: readability, official brand, and responsive motion system */
:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
.logo{display:flex;align-items:center;flex-shrink:0;min-width:0}.official-logo{display:block;width:184px;height:auto;max-height:62px;object-fit:contain;object-position:left center}
.menu a{font-size:18px!important;font-weight:500!important;letter-spacing:-.018em;position:relative;line-height:1.4}
.menu a:not(.mobile-contact)::after{content:'';position:absolute;bottom:-8px;left:0;width:0;height:2px;background:var(--blue);transition:width .3s var(--motion-ease)}
.menu a:hover::after,.menu a:focus-visible::after{width:100%}
.nav-action{font-size:18px;font-weight:500}.menu-button{font-size:18px!important;font-weight:500!important}
body{font-size:18px;line-height:1.72}p,li{font-weight:400}.eyebrow,.project-info span,.blog-card>span,.project-type-art span{font-size:15px;font-weight:500;letter-spacing:.04em}
.btn,.inline-link,.back-link,.faq summary,.project-info h3,.service-line>span,.footer a{font-weight:500}
.project-info p,.blog-card p,.steps p,.footer-grid p,.service-line p{font-size:17px}
.hero-caption,.hero-edge .shell,.display-top,.display-bottom{font-size:15px;font-weight:500}
.header{transition:box-shadow .25s,background-color .25s}.header.is-scrolled{box-shadow:0 7px 28px #0a173515}
.service-line,.project,.project-visual,.deliverable,.overview-card,.blog-card{transition:transform .4s var(--motion-ease),box-shadow .4s var(--motion-ease),background .4s var(--motion-ease),border-color .3s}
.service-line:hover{transform:translateX(5px);background:#f6fbff}.service-line:hover b{transform:translate(5px,-3px)}.service-line b{transition:transform .3s}
.project:hover{transform:translateY(-7px)}.project:hover .project-visual{box-shadow:0 22px 46px #10234a22}.project-visual img{transition:transform .85s var(--motion-ease)}.project:hover .project-visual img{transform:scale(1.075)}
.deliverable:hover,.overview-card:hover,.blog-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px #07173912}
.btn{transition:transform .3s var(--motion-ease),background .25s,border-color .25s,box-shadow .25s}.btn:hover{transform:translateY(-3px);box-shadow:0 12px 22px #009df529}.btn:active{transform:translateY(0)}
.round-cta{transition:transform .65s var(--motion-ease),background .3s}.round-cta:hover{transform:rotate(0deg) scale(1.05)}
.faq details[open] summary{color:var(--blue-deep)}.faq details[open] p{animation:faqFade .35s ease both}@keyframes faqFade{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--blue);z-index:300;pointer-events:none;transition:width .09s linear}
.back-to-top{position:fixed;right:23px;bottom:24px;z-index:75;width:52px;height:52px;border-radius:50%;border:1px solid #c9d5e7;background:var(--navy);color:#fff;font-size:25px;display:grid;place-items:center;box-shadow:0 12px 30px #0b1d3b26;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .25s,visibility .25s,transform .3s var(--motion-ease)}.back-to-top.visible{opacity:1;visibility:visible;transform:none}.back-to-top:hover{background:var(--blue);transform:translateY(-4px)}
@media(prefers-reduced-motion:no-preference){.js-motion .reveal-on-scroll{opacity:0;transform:translateY(26px);transition:opacity .7s var(--motion-ease),transform .7s var(--motion-ease)}.js-motion .reveal-on-scroll.is-visible{opacity:1;transform:none}.js-motion .reveal-on-scroll:nth-child(2){transition-delay:.065s}.js-motion .reveal-on-scroll:nth-child(3){transition-delay:.11s}}
@media(max-width:1250px) and (min-width:851px){.shell{width:calc(100% - 48px)}.nav{gap:15px}.menu{gap:17px}.official-logo{width:152px}.menu a{font-size:18px!important}.nav-action{font-size:16px;padding:12px}}
@media(max-width:1050px){.nav-action{display:none}.official-logo{width:170px}}
@media(max-width:850px){.menu{gap:0;padding:14px 26px;max-height:calc(100dvh - 76px);overflow-y:auto}.menu a{font-size:18px!important;font-weight:500!important;padding:13px 8px;border-bottom:1px solid #edf1f6}.menu a::after{display:none}.menu-button{min-height:44px}.official-logo{width:170px}.header{height:76px}}
@media(max-width:600px){.official-logo{width:148px}.menu{top:72px;max-height:calc(100dvh - 72px)}.back-to-top{right:15px;bottom:16px;width:46px;height:46px}.hero-caption,.hero-edge .shell{font-size:15px}}
@media(prefers-reduced-motion:reduce){.reveal-on-scroll{opacity:1!important;transform:none!important}.back-to-top{transition:none!important}.scroll-progress{transition:none!important}}

/* V5 refinement layer — restrained, accessible, high-contrast motion */
:root{--ease-premium:cubic-bezier(.22,1,.36,1)}
body{font-size:18px;line-height:1.7;text-rendering:optimizeLegibility}
.menu a{font-size:18px!important;font-weight:500!important}
.menu a[aria-current="page"]{color:var(--blue-deep);text-decoration:underline;text-decoration-color:var(--blue);text-underline-offset:9px;text-decoration-thickness:2px}
button,a,summary{-webkit-tap-highlight-color:transparent}
.btn,.nav-action{font-weight:500;letter-spacing:-.01em}
.eyebrow,.project-info span,.project-type-art span,.blog-card>span{font-weight:500;letter-spacing:.065em}
.section-top p,.service-line p,.project-info p,.deliverable p,.overview-card p,.article-body p{font-size:max(17px,1rem);line-height:1.75}
.section-top h2{letter-spacing:-.055em}
.project-info h3,.steps h3,.deliverable h3{letter-spacing:-.035em}
.service-line{transition:padding .3s var(--ease-premium),background-color .3s,transform .3s var(--ease-premium)}
.project-visual{position:relative;isolation:isolate}
.project-visual:after{content:'View project ↗';position:absolute;right:16px;bottom:16px;background:#fff;color:var(--navy);padding:10px 15px;font:500 15px/1.3 var(--font);opacity:0;transform:translateY(10px);transition:opacity .3s,transform .3s var(--ease-premium);box-shadow:0 8px 28px #07142a25}
.project:hover .project-visual:after,.project:focus-visible .project-visual:after{opacity:1;transform:none}
.nav-action,.btn{position:relative;overflow:hidden}
.btn span[aria-hidden],.nav-action span{transition:transform .3s var(--ease-premium)}
.btn:hover span[aria-hidden],.nav-action:hover span{transform:translate(3px,-3px)}
.faq details{transition:background .25s}
.faq details[open]{background:linear-gradient(90deg,#e9f7ff75,transparent 75%)}
.faq summary{font-weight:500}
.hero-display{transition:transform .6s var(--ease-premium),box-shadow .6s var(--ease-premium)}
.hero-display:hover{transform:rotate(0) translateY(-7px);box-shadow:18px 27px 0 #00000030}
.service-finder{background:#eef6fc;border:1px solid #d6eaf8;padding:42px;margin-top:62px;display:grid;grid-template-columns:.9fr 1.1fr;gap:32px;align-items:start}
.service-finder h3{font-size:clamp(27px,2.9vw,39px);margin:10px 0 14px}
.service-finder p{color:var(--muted);font-size:18px;margin:0}
.finder-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.finder-option{min-height:55px;text-align:left;padding:12px 16px;border:1px solid #c7dceb;background:#fff;font-size:16px;font-weight:500;color:var(--text);transition:background .2s,border-color .2s,transform .2s}
.finder-option:hover{transform:translateY(-2px);border-color:var(--blue)}
.finder-option[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:white}
.finder-result{grid-column:2;background:#fff;padding:24px 27px;border-left:4px solid var(--blue)}
.finder-result h4{font-size:23px;margin:0 0 8px}
.finder-result p{font-size:17px;line-height:1.65;margin:0 0 17px}
.finder-result a{display:inline-block;font-weight:500;color:var(--blue-deep);text-decoration:underline;text-underline-offset:5px}
@media(max-width:850px){.service-finder{grid-template-columns:1fr;padding:28px}.finder-result{grid-column:1}}
@media(max-width:520px){.service-finder{padding:22px}.finder-options{grid-template-columns:1fr}.service-finder h3{font-size:29px}}
@media(hover:none){.project-visual:after{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.hero-display:hover{transform:none}}

/* Portfolio V6: distinct case-study editorial design and visit actions */
.case-story-section { padding:0 0 38px; margin-bottom:38px; border-bottom:1px solid rgba(15,23,42,.12); }
.case-story-section h2 {font-size:clamp(32px,3.1vw,49px); line-height:1.16; margin:14px 0 18px;}
.case-story-section h3 {font-size:clamp(24px,2.1vw,32px); line-height:1.25; margin:14px 0 16px;}
.case-story-section p {font-family:'Work Sans',sans-serif; font-size:18px; line-height:1.83; max-width:780px;}
.case-fact {display:flex;flex-direction:column; gap:6px; margin:18px 0; font-size:16px; line-height:1.55;}
.case-fact strong {font-weight:600;}
.case-actions {display:flex; flex-wrap:wrap; gap:14px; margin-top:30px;}
.case-secondary {background:transparent!important; color:#08072b!important; border:1px solid #08072b;}
.hero-live {display:inline-flex; margin-top:24px; font-size:17px;}
.project-live-small {display:inline-flex; align-items:center; padding:10px 0 20px; color:#0876bf; font-family:'Work Sans',sans-serif; font-size:16px; font-weight:600; text-decoration:none; transition:transform .2s ease,color .2s ease;}
.project-live-small:hover,.project-live-small:focus-visible {transform:translateX(5px);color:#08072b;text-decoration:underline;}
@media(max-width:700px){.case-story-section p{font-size:17px}.case-actions{flex-direction:column}.case-actions .btn{justify-content:center}}


/* V7: portfolio card containment / aligned 3-column grid */
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;align-items:stretch}
.project-grid>.portfolio-item{min-width:0;display:flex;flex-direction:column;position:relative;align-self:stretch}
.portfolio-item>.project{display:flex;flex-direction:column;min-width:0;flex:1;transform:none}
.portfolio-item>.project:hover{transform:none}
.portfolio-item .project-visual{width:100%;aspect-ratio:1.32;height:auto;border-radius:4px;overflow:hidden}
.portfolio-item .project-info{display:flex;align-items:flex-start;gap:15px;flex:1;padding:20px 0 12px}
.portfolio-item .project-info>div:first-child{min-width:0}
.portfolio-item .project-info h3{font-size:clamp(22px,1.7vw,27px);line-height:1.25;margin:7px 0 9px;letter-spacing:-.04em}
.portfolio-item .project-info p{font-size:16px;line-height:1.55;max-width:35ch;color:#536074;margin:0}
.portfolio-item .project-info span{font-size:15px;line-height:1.5;letter-spacing:.005em;text-transform:none}
.portfolio-item .project-arr{font-size:22px;flex:none;transition:transform .25s}
.portfolio-item:hover .project-arr{transform:translate(3px,-3px)}
.portfolio-item>.project-live-small{align-self:flex-start;font-size:16px;line-height:1.4;font-weight:500;padding:0;margin:7px 0 0;min-height:28px;border-bottom:1px solid var(--blue);color:var(--blue-deep)}
.portfolio-item>.project-live-small:hover{transform:none;border-bottom-color:var(--navy)}
.portfolio-item .project-visual img{width:100%;height:100%;object-fit:cover}
@media(max-width:950px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}}
@media(max-width:620px){.project-grid{grid-template-columns:1fr;gap:38px}.portfolio-item .project-visual{aspect-ratio:1.4}.portfolio-item .project-info p{max-width:none}}

/* V9: header mark reduced by 2px at every viewport */
.official-logo{width:182px}
@media(max-width:1250px) and (min-width:851px){.official-logo{width:150px}}
@media(max-width:1050px){.official-logo{width:168px}}
@media(max-width:600px){.official-logo{width:146px}}

/* WordPress / Elementor compatibility */
.duxcode-wp .elementor-widget-html,.duxcode-wp .elementor-widget-container{min-width:0;}
.elementor-widget-html .section{display:block;}
.duxcode-wp .elementor-element{--widgets-spacing:0;}

/* Native Elementor importer compatibility (v2). */
.duxcode-wp .elementor-widget-heading .elementor-heading-title{font-family:Manrope,Arial,sans-serif;line-height:inherit;letter-spacing:inherit;color:inherit;font-weight:inherit;font-size:inherit}
.duxcode-wp .elementor-widget-text-editor,.duxcode-wp .elementor-widget-text-editor p{font-family:'Work Sans',Arial,sans-serif;font-size:18px;line-height:1.7}
.duxcode-wp .elementor-widget-button .elementor-button{font-family:'Work Sans',Arial,sans-serif;font-size:16px;font-weight:500}
.duxcode-wp .elementor-widget-image img{width:100%;height:auto;object-fit:cover}
.duxcode-wp .elementor-widget:not(:last-child){margin-bottom:0}
.duxcode-wp .elementor-widget-container{min-width:0}
.duxcode-wp .elementor-element.e-con{--container-default-padding-top:0;--container-default-padding-bottom:0;--container-default-padding-left:0;--container-default-padding-right:0}
