﻿html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,input[type=text],input[type=email],textarea,blockquote,pre,hr,a,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strong,sub,sup,tt,var,b,u,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}h1,h2,h3,h4,h5,h6{font-size:100%}table{border-collapse:collapse;border-spacing:0}strong,b,mark{font-weight:700;font-style:inherit}em,i,cite,q,address,dfn,var{font-style:italic;font-weight:inherit}abbr[title],dfn[title]{cursor:help;border-bottom:1px dotted}ins{border-bottom:1px solid}a,u,ins{text-decoration:none}del,s{text-decoration:line-through}pre,code,samp,kbd{font-family:monospace}small{font-size:.75em}img{border:0;font-style:italic}input,select,option,optgroup,textarea{font:inherit}*{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio[controls],canvas,video{display:inline-block;*display:inline;*zoom:1}html{font-size:100%;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0;text-rendering:optimizeLegibility}img{border:0;-ms-interpolation-mode:bicubic;display:block}img,object,embed{max-width:100%;height:auto}input,textarea,button{-webkit-appearance:none;outline:none;border:0}@-webkit-keyframes a{0%{-webkit-transform:translate(-50%, -50%) rotateX(0) rotateY(0);transform:translate(-50%, -50%) rotateX(0) rotateY(0)}50%{-webkit-transform:translate(-50%, -50%) rotateX(-180deg) rotateY(0);transform:translate(-50%, -50%) rotateX(-180deg) rotateY(0)}to{-webkit-transform:translate(-50%, -50%) rotateX(-180deg) rotateY(-180deg);transform:translate(-50%, -50%) rotateX(-180deg) rotateY(-180deg)}}@keyframes a{0%{-webkit-transform:translate(-50%, -50%) rotateX(0) rotateY(0);transform:translate(-50%, -50%) rotateX(0) rotateY(0)}50%{-webkit-transform:translate(-50%, -50%) rotateX(-180deg) rotateY(0);transform:translate(-50%, -50%) rotateX(-180deg) rotateY(0)}to{-webkit-transform:translate(-50%, -50%) rotateX(-180deg) rotateY(-180deg);transform:translate(-50%, -50%) rotateX(-180deg) rotateY(-180deg)}}.fluidbox{outline:none}.fluidbox__overlay{background-color:rgba(255,255,255,.85);cursor:pointer;cursor:zoom-out;opacity:0;pointer-events:none;position:fixed;top:-100%;left:0;bottom:-100%;right:0;-webkit-transition:all .25s ease-in-out;transition:all .25s ease-in-out}.fluidbox--opened .fluidbox__overlay{pointer-events:auto}.fluidbox__wrap{background-position:center center;background-size:cover;margin:0 auto;position:relative;-webkit-transition:all .25s ease-in-out;transition:all .25s ease-in-out}.fluidbox--closed .fluidbox__thumb,.fluidbox__thumb{-webkit-transition:opacity 0s ease-in-out 0s;transition:opacity 0s ease-in-out 0s}.fluidbox__ghost{background-size:100% 100%;background-position:center center;background-repeat:no-repeat;position:absolute;-webkit-transition:opacity 0s 0s,-webkit-transform .25s 0s;transition:opacity 0s 0s,-webkit-transform .25s 0s;transition:opacity 0s 0s,transform .25s 0s;transition:opacity 0s 0s,transform .25s 0s,-webkit-transform .25s 0s}.fluidbox--opened .fluidbox__ghost{cursor:pointer;cursor:zoom-out}.fluidbox--closed .fluidbox__ghost{-webkit-transition:opacity 0s .25s,-webkit-transform .25s 0s;transition:opacity 0s .25s,-webkit-transform .25s 0s;transition:opacity 0s .25s,transform .25s 0s;transition:opacity 0s .25s,transform .25s 0s,-webkit-transform .25s 0s}.fluidbox__loader{opacity:0;-webkit-perspective:200px;perspective:200px;pointer-events:none;position:absolute;top:0;left:0;bottom:0;right:0}.fluidbox__loader:before{background-color:rgba(255,255,255,.85);content:"";-webkit-transform-style:preserve-3d;transform-style:preserve-3d;position:absolute;top:50%;left:50%;width:20%;padding-bottom:20%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-duration:.25s;transition-duration:.25s;-webkit-transition-delay:0s;transition-delay:0s}.fluidbox--loading .fluidbox__loader{opacity:1;-webkit-transition:opacity .25s ease-in-out .25s;transition:opacity .25s ease-in-out .25s}.fluidbox--loading .fluidbox__loader:before{-webkit-animation:a 1s 0s infinite ease-in-out forwards;animation:a 1s 0s infinite ease-in-out forwards}.owl-carousel{display:none;-webkit-tap-highlight-color:rgba(0,0,0,0);position:relative;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y;-moz-backface-visibility:hidden}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0px, 0px, 0px)}.owl-carousel .owl-wrapper,.owl-carousel .owl-item{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0)}.owl-carousel .owl-item{position:relative;min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%}.owl-carousel .owl-nav.disabled,.owl-carousel .owl-dots.disabled{display:none}.owl-carousel .owl-nav .owl-prev,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-dot{cursor:pointer;cursor:hand;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-loaded{display:block}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.no-js .owl-carousel{display:block}.owl-carousel .animated{animation-duration:500ms;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height 500ms ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity 400ms ease}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url("owl.video.play.png") no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform 100ms ease}.owl-carousel .owl-video-play-icon:hover{-ms-transform:scale(1.3, 1.3);transform:scale(1.3, 1.3)}.owl-carousel .owl-video-playing .owl-video-tn,.owl-carousel .owl-video-playing .owl-video-play-icon{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity 400ms ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%}@font-face{font-family:"Rubik";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/rubik-v31-latin_latin-ext-regular.woff2") format("woff2"),url("/fonts/rubik-v31-latin_latin-ext-regular.woff") format("woff")}@font-face{font-family:"Rubik";font-style:normal;font-weight:500;font-display:swap;src:url("/fonts/rubik-v31-latin_latin-ext-500.woff2") format("woff2"),url("/fonts/rubik-v31-latin_latin-ext-500.woff") format("woff")}@font-face{font-family:"Rubik";font-style:normal;font-weight:700;font-display:swap;src:url("/fonts/rubik-v31-latin_latin-ext-700.woff2") format("woff2"),url("/fonts/rubik-v31-latin_latin-ext-700.woff") format("woff")}@font-face{font-family:"Ubuntu";font-style:normal;font-weight:300;font-display:swap;src:url("/fonts/ubuntu-v21-latin_latin-ext-300.woff2") format("woff2"),url("/fonts/ubuntu-v21-latin_latin-ext-300.woff") format("woff")}@font-face{font-family:"Ubuntu";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/ubuntu-v21-latin_latin-ext-regular.woff2") format("woff2"),url("/fonts/ubuntu-v21-latin_latin-ext-regular.woff") format("woff")}@font-face{font-family:"Ubuntu";font-style:normal;font-weight:700;font-display:swap;src:url("/fonts/ubuntu-v21-latin_latin-ext-700.woff2") format("woff2"),url("/fonts/ubuntu-v21-latin_latin-ext-700.woff") format("woff")}html,body{height:100%}html{scroll-behavior:smooth}@media(prefers-reduced-motion: reduce){html{scroll-behavior:auto}}body{background:#2c3e50;font-family:"Ubuntu",sans-serif;font-weight:300;font-style:normal;color:#ecf0f1;-webkit-font-smoothing:antialiased;overflow-x:hidden;position:relative}body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 95% 85% at 115% 115%, rgba(255, 190, 150, 0.18) 0%, rgba(255, 190, 150, 0.1) 25%, rgba(255, 190, 150, 0.04) 50%, transparent 75%)}body>*{position:relative;z-index:1}hr{border:0;height:2px;background-color:rgba(236,240,241,.3)}.page-loader{display:none}.page{-webkit-transition:all .6s cubic-bezier(0.2, 0.3, 0, 1);-moz-transition:all .6s cubic-bezier(0.2, 0.3, 0, 1);-ms-transition:all .6s cubic-bezier(0.2, 0.3, 0, 1);-o-transition:all .6s cubic-bezier(0.2, 0.3, 0, 1);transition:all .6s cubic-bezier(0.2, 0.3, 0, 1)}.page__content{-webkit-transition:all .6s cubic-bezier(0.2, 0.3, 0, 1);-moz-transition:all .6s cubic-bezier(0.2, 0.3, 0, 1);-ms-transition:all .6s cubic-bezier(0.2, 0.3, 0, 1);-o-transition:all .6s cubic-bezier(0.2, 0.3, 0, 1);transition:all .6s cubic-bezier(0.2, 0.3, 0, 1)}section:not(.hero){-webkit-transition:all .6s cubic-bezier(0.2, 0.3, 0, 1);-moz-transition:all .6s cubic-bezier(0.2, 0.3, 0, 1);-ms-transition:all .6s cubic-bezier(0.2, 0.3, 0, 1);-o-transition:all .6s cubic-bezier(0.2, 0.3, 0, 1);transition:all .6s cubic-bezier(0.2, 0.3, 0, 1)}body.loading .loader{opacity:1;visibility:visible;-webkit-transition:all .4s ease-in-out 1s;-moz-transition:all .4s ease-in-out 1s;-ms-transition:all .4s ease-in-out 1s;-o-transition:all .4s ease-in-out 1s;transition:all .4s ease-in-out 1s}body.loading .page__content{opacity:0;visibility:hidden;-webkit-transition:all .4s ease-in-out,transform 0s ease-in-out .4s;-moz-transition:all .4s ease-in-out,transform 0s ease-in-out .4s;-ms-transition:all .4s ease-in-out,transform 0s ease-in-out .4s;-o-transition:all .4s ease-in-out,transform 0s ease-in-out .4s;transition:all .4s ease-in-out,transform 0s ease-in-out .4s}body.loading section:not(.hero){-moz-transform:translate(0, 30px);-o-transform:translate(0, 30px);-ms-transform:translate(0, 30px);-webkit-transform:translate(0, 30px);transform:translate(0, 30px);-webkit-transition:all .4s ease-in-out,transform 0s ease-in-out .4s;-moz-transition:all .4s ease-in-out,transform 0s ease-in-out .4s;-ms-transition:all .4s ease-in-out,transform 0s ease-in-out .4s;-o-transition:all .4s ease-in-out,transform 0s ease-in-out .4s;transition:all .4s ease-in-out,transform 0s ease-in-out .4s}body.loading .footer{opacity:0;visibility:hidden;-webkit-transition:all .4s ease-in-out;-moz-transition:all .4s ease-in-out;-ms-transition:all .4s ease-in-out;-o-transition:all .4s ease-in-out;transition:all .4s ease-in-out}.loader{position:fixed;top:50%;left:50%;-moz-transform:translate(-50%, -50%);-o-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:60px;height:15px;opacity:0;visibility:hidden;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-ms-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.loader svg{width:100%;height:100%;fill:rgba(236,240,241,.2)}.buy-cta{position:fixed;z-index:10;bottom:0;right:0}.buy-cta__link{display:block;position:relative;width:40px;height:40px;background:#dc5b5d}@media only screen and (min-width: 768px){.buy-cta__link{width:60px;height:60px}}.buy-cta__link svg{position:absolute;top:50%;left:50%;width:20px;height:20px;-moz-transform:translate(-50%, -50%);-o-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);fill:#fff}@media only screen and (min-width: 768px){.buy-cta__link svg{width:30px;height:30px}}.buy-cta__link:hover .buy-cta__text{-moz-transform:translate(0, 0);-o-transform:translate(0, 0);-ms-transform:translate(0, 0);-webkit-transform:translate(0, 0);transform:translate(0, 0);opacity:1}.buy-cta__text{position:absolute;top:0;right:40px;background:#dc5b5d;padding:14px 10px 13px 17px;color:#fff;font-size:13px;line-height:1;white-space:nowrap;-webkit-transition:all .15s ease-in-out;-moz-transition:all .15s ease-in-out;-ms-transition:all .15s ease-in-out;-o-transition:all .15s ease-in-out;transition:all .15s ease-in-out;-moz-transform:translate(0, 20px);-o-transform:translate(0, 20px);-ms-transform:translate(0, 20px);-webkit-transform:translate(0, 20px);transform:translate(0, 20px);opacity:0}@media only screen and (min-width: 768px){.buy-cta__text{right:60px;padding:22px 14px 23px 25px;font-size:15px;-moz-transform:translate(0, 30px);-o-transform:translate(0, 30px);-ms-transform:translate(0, 30px);-webkit-transform:translate(0, 30px);transform:translate(0, 30px)}}input[type=text],input[type=email],textarea{background-color:#fff;display:block;border:0;border-bottom:1px solid #ecf0f1;padding:12px 0 16px}input[type=text]:focus,input[type=email]:focus,textarea:focus{border-bottom-color:#ecf0f1}input[type=text]:-webkit-autofill,input[type=email]:-webkit-autofill,textarea:-webkit-autofill{-webkit-box-shadow:0 0 0px 1000px #fff inset}input[type=text]::placeholder,input[type=email]::placeholder,textarea::placeholder{color:#95a5a6;opacity:1}input[type=text]:-ms-input-placeholder,input[type=email]:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#95a5a6}input[type=text]::-ms-input-placeholder,input[type=email]::-ms-input-placeholder,textarea::-ms-input-placeholder{color:#95a5a6}.input-group{padding-top:8px;margin-bottom:24px}.input-group input,.input-group textarea{width:100%}.input-submit{display:flex;justify-content:flex-end}.rounded{border-radius:8px}.content-figure{margin:1.5em 0}.content-figure img{display:block;height:auto}.content-figure.rounded img{border-radius:8px}.content-figure .figure-divider{border:0;height:1px;background-color:#fff;margin:.75em 0}.content-figure figcaption{font-style:italic;font-size:.9em;color:#95a5a6}.footnotes.collapsible{overflow:hidden;max-height:12em;transition:max-height .4s ease;position:relative}.footnotes.collapsible.expanded{max-height:2000px}.footnotes.collapsible ol>li{display:none}.footnotes.collapsible.expanded ol>li{display:list-item}.footnotes.collapsible ol>li:nth-child(-n+4){display:list-item}.footnotes-toggle{display:inline-flex;align-items:center;gap:.3em;background:none;border:none;cursor:pointer;color:#fff;text-decoration:underline;font-size:.9em}.footnotes-toggle svg{transition:transform .4s ease;width:.8em;height:.8em}.footnotes.expanded .footnotes-toggle svg{transform:rotate(180deg)}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6,.subtitle,.subtitle--light,.page-post .post__content.highlight-first p:first-child,.page-project .post__content.highlight-first p:first-child,.page-post .post__content.highlight-first input[type=text]:first-child,.page-project .post__content.highlight-first input[type=text]:first-child,.page-post .post__content.highlight-first input[type=email]:first-child,.page-project .post__content.highlight-first input[type=email]:first-child,.page-post .post__content.highlight-first textarea:first-child,.page-project .post__content.highlight-first textarea:first-child{font-family:Rubik,sans-serif;color:#ecf0f1}h1,.h1{font-size:40px;letter-spacing:-1px;line-height:46px;font-weight:700}@media only screen and (min-width: 768px){h1,.h1{font-size:56px;line-height:64px;letter-spacing:-1.2px}}h2,.h2{font-size:28px;letter-spacing:-0.4px;line-height:34px;font-weight:700}@media only screen and (min-width: 768px){h2,.h2{font-size:34px;line-height:40px;letter-spacing:-0.6px}}h3,.h3{font-weight:700;font-size:22px;letter-spacing:-0.2px;line-height:28px}@media only screen and (min-width: 768px){h3,.h3{font-size:26px;line-height:32px;letter-spacing:-0.4px}}h4,.h4{font-size:20px;font-weight:700;line-height:28px;letter-spacing:-0.2px}@media only screen and (min-width: 768px){h4,.h4{font-size:22px;letter-spacing:-0.3px}}h5,.h5{font-size:17px;font-weight:700;line-height:1.6;letter-spacing:0em}@media only screen and (min-width: 768px){h5,.h5{font-size:20px}}h6,.h6{margin-top:15px;font-size:17px;font-weight:700;line-height:1.6;letter-spacing:0em}@media only screen and (min-width: 768px){h6,.h6{font-size:20px}}@media only screen and (min-width: 1220px){h6,.h6{font-size:20px}}.subtitle,.subtitle--light,.page-post .post__content.highlight-first p:first-child,.page-project .post__content.highlight-first p:first-child,.page-post .post__content.highlight-first input[type=text]:first-child,.page-project .post__content.highlight-first input[type=text]:first-child,.page-post .post__content.highlight-first input[type=email]:first-child,.page-project .post__content.highlight-first input[type=email]:first-child,.page-post .post__content.highlight-first textarea:first-child,.page-project .post__content.highlight-first textarea:first-child{font-weight:500;font-size:20px;letter-spacing:.2px;line-height:28px}.subtitle--light,.page-post .post__content.highlight-first p:first-child,.page-project .post__content.highlight-first p:first-child,.page-post .post__content.highlight-first input[type=text]:first-child,.page-project .post__content.highlight-first input[type=text]:first-child,.page-post .post__content.highlight-first input[type=email]:first-child,.page-project .post__content.highlight-first input[type=email]:first-child,.page-post .post__content.highlight-first textarea:first-child,.page-project .post__content.highlight-first textarea:first-child{font-weight:400}.subtitle a,.subtitle--light a,.page-post .post__content.highlight-first p:first-child a,.page-project .post__content.highlight-first p:first-child a,.page-post .post__content.highlight-first input[type=text]:first-child a,.page-project .post__content.highlight-first input[type=text]:first-child a,.page-post .post__content.highlight-first input[type=email]:first-child a,.page-project .post__content.highlight-first input[type=email]:first-child a,.page-post .post__content.highlight-first textarea:first-child a,.page-project .post__content.highlight-first textarea:first-child a{font-weight:500;text-decoration:underline;text-decoration-color:rgba(222,73,73,.2)}@media only screen and (min-width: 768px){.subtitle,.subtitle--light,.page-post .post__content.highlight-first p:first-child,.page-project .post__content.highlight-first p:first-child,.page-post .post__content.highlight-first input[type=text]:first-child,.page-project .post__content.highlight-first input[type=text]:first-child,.page-post .post__content.highlight-first input[type=email]:first-child,.page-project .post__content.highlight-first input[type=email]:first-child,.page-post .post__content.highlight-first textarea:first-child,.page-project .post__content.highlight-first textarea:first-child{font-size:22px;line-height:32px;letter-spacing:.16px}}p,input[type=text],input[type=email],textarea,.body,.page-post .post__content li,.page-project .post__content li{font-weight:300;font-size:17px;line-height:28px;letter-spacing:.04px}p.--small,input.--small[type=text],input.--small[type=email],textarea.--small,.body.--small,.page-post .post__content li.--small,.page-project .post__content li.--small{font-weight:300;letter-spacing:.04px;font-size:16px;line-height:24px}p strong,input[type=text] strong,input[type=email] strong,textarea strong,.body strong,.page-post .post__content li strong,.page-project .post__content li strong{font-weight:700}@media only screen and (min-width: 768px){p,input[type=text],input[type=email],textarea,.body,.page-post .post__content li,.page-project .post__content li{font-size:18px}}ul,ol{list-style-position:outside}blockquote{margin-top:16px;border-left:2px solid #ecf0f1;padding:10px 0 10px 32px}blockquote p,blockquote input[type=text],blockquote input[type=email],blockquote textarea{font-family:Rubik,sans-serif;font-size:22px;font-weight:500;letter-spacing:-0.02em;line-height:1.6}@media only screen and (min-width: 768px){blockquote p,blockquote input[type=text],blockquote input[type=email],blockquote textarea{font-size:30px}}@media only screen and (min-width: 1220px){blockquote p,blockquote input[type=text],blockquote input[type=email],blockquote textarea{font-size:38px}}a{text-decoration:none;color:#ecf0f1;font-weight:700;-webkit-transition:all 120ms ease-in-out;-moz-transition:all 120ms ease-in-out;-ms-transition:all 120ms ease-in-out;-o-transition:all 120ms ease-in-out;transition:all 120ms ease-in-out}a:hover{color:#de4949}.label,time,.label--small,.related-project__eyebrow,.connect-link__label,.post__more .prev-post::before,.post__more .next-post::before,label{font-family:Rubik,sans-serif;font-size:14px;font-weight:500;line-height:16px;letter-spacing:.8px;color:#95a5a6;text-transform:uppercase}.label--small,.related-project__eyebrow,.connect-link__label,.post__more .prev-post::before,.post__more .next-post::before,label{font-size:12px;letter-spacing:.5px}label{color:#ecf0f1}.footnote{font-size:13px;font-weight:400;line-height:12px;letter-spacing:-0.04px}a.footnote{font-weight:700}time{display:inline-block}code{font-family:"Source Sans Pro",Courier,monospace;background-color:rgba(160,174,192,.15);padding:0 2px;border-radius:5px;font-weight:500;color:#edf2f7}::selection{background:#de4949;color:#2c3e50}::-moz-selection{background:#de4949;color:#2c3e50}.button--text,.button--fill,.button--text--accent{font-family:Rubik,sans-serif;line-height:18px;display:inline-block;font-size:13px;color:#ecf0f1;font-weight:500;letter-spacing:.4px;text-transform:uppercase;cursor:pointer}.button--text.--right,.--right.button--fill,.--right.button--text--accent{--color-var: #ECF0F1}.button--text.--right::after,.--right.button--fill::after,.--right.button--text--accent::after{content:"";display:inline-block;width:20px;height:10px;mask:url("/images/icons/arrow-right-accent.svg") right center no-repeat;-webkit-mask:url("/images/icons/arrow-right-accent.svg") right center no-repeat;margin-left:4px;background-color:var(--color-var)}.button--text.--right:hover,.--right.button--fill:hover,.--right.button--text--accent:hover{transform:translateX(2px);opacity:.7}.button--text.--left,.--left.button--fill,.--left.button--text--accent{--color-var: #ECF0F1}.button--text.--left::before,.--left.button--fill::before,.--left.button--text--accent::before{content:"";display:inline-block;width:20px;height:10px;mask:url("/images/icons/arrow-right-accent.svg") right center no-repeat;-webkit-mask:url("/images/icons/arrow-right-accent.svg") right center no-repeat;margin-right:4px;background-color:var(--color-var);transform:rotate(180deg)}.button--text.--left:hover,.--left.button--fill:hover,.--left.button--text--accent:hover{transform:translateX(-2px);opacity:.7}.button--text--accent{color:#de4949}.button--text--accent.--right::after,.button--text--accent.--left::before{background-color:#de4949}.button--text:hover,.button--fill:hover,.button--text--accent:hover{color:#de4949}.button--fill{color:#fff;background-color:#de4949;padding:13px 20px 14px;border-radius:40px}.button--fill:hover{color:#fff;background-color:#da3333}.button--fill:active{transform:scale(0.98)}.button--close-modal{background:url("/images/icons/arrow-cross-accent.svg") rgba(222,73,73,.08) center center no-repeat;width:40px;height:40px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center}.button--close-modal:active{background-color:rgba(222,73,73,.14)}@media only screen and (min-width: 768px){.button--text,.button--text--accent,.button--fill{font-size:14px}}.page,.page__content{width:100%}.wrap{position:relative;margin:0 auto;padding:0 30px;width:100%;max-width:1200px}.grid,.grid__3-col,.grid__2-col{display:grid;grid-gap:30px}.grid__2-col{grid-template-columns:repeat(2, 1fr)}.grid__3-col{grid-template-columns:repeat(3, 1fr)}@media only screen and (min-width: 768px){.grid,.grid__3-col,.grid__2-col{grid-gap:30px}}.locked{overflow:hidden}.header--single{padding:40px 0 48px}.header--single .header__title{margin-bottom:16px}.header--single .header__subtitle{max-width:556px}@media only screen and (min-width: 768px){.header--single{padding:56px 0 120px}}.page-blog .all-posts{margin-bottom:48px}.page-blog .all-posts .post-new{margin-bottom:16px}.page-blog .all-posts .post-new .grid,.page-blog .all-posts .post-new .grid__2-col,.page-blog .all-posts .post-new .grid__3-col{grid-gap:24px}.page-blog .all-posts .post-new .post__image{width:calc(100% + 60px);height:288px;position:relative;margin-left:-30px;margin-bottom:0;background-position:center;background-repeat:no-repeat;background-size:cover}.page-blog .all-posts .post-new .post__image--new::before{content:"NEW";display:flex;justify-content:center;align-items:center;width:48px;height:48px;background-color:#de4949;color:#fff;border:2px solid #fff;border-radius:100%;font-family:Rubik,sans-serif;font-weight:700;font-size:10px;position:absolute;top:-28px;right:30px;transform:rotate(30deg)}.page-blog .all-posts .post-new .post__content-wrap{justify-self:center;align-self:center}.page-blog .all-posts .post-new .post__content{max-width:456px}.page-blog .all-posts .post-new .post__date{margin-bottom:8px}.page-blog .all-posts .post-new .post__title{margin-bottom:12px}.page-blog .all-posts .post-new .post__description{margin-bottom:16px}.page-blog .all-posts .posts__list{grid-row-gap:56px}.page-blog .pagination{margin-bottom:48px}.page-blog .pagination .wrap{display:flex;justify-content:center}.page-blog .pagination a{margin:0 10px}@media only screen and (min-width: 768px){.page-blog .all-posts{margin-bottom:80px}.page-blog .all-posts .posts__list{grid-template-columns:1fr 1fr}.page-blog .all-posts .post-new{grid-column:1/3}.page-blog .all-posts .post-new .grid,.page-blog .all-posts .post-new .grid__2-col,.page-blog .all-posts .post-new .grid__3-col{grid-template-columns:1fr 1fr;grid-gap:30px}.page-blog .all-posts .post-new .post__image{width:100%;margin-left:0}.page-blog .all-posts .post-new .post__image::before{width:56px;height:56px;right:-28px;font-size:12px;border:3px solid #fff}.page-blog .all-posts .post-new .post__title{margin-bottom:24px}.page-blog .all-posts .post-new .post__description{margin-bottom:24px}.page-blog .pagination a{margin:0 20px}}@media only screen and (min-width: 1024px){.page-blog .all-posts{margin-bottom:100px}.page-blog .all-posts .post-new{grid-column:1/4}.page-blog .all-posts .post-new .post__image{height:386px}.page-blog .all-posts .posts__list{grid-template-columns:1fr 1fr 1fr;grid-row-gap:80px}}.page-post .post__header,.page-project .post__header{padding-bottom:48px}.page-post .post__title,.page-project .post__title{margin-bottom:16px}.page-post .post__date,.page-project .post__date{margin-bottom:48px}.page-post .post__featured-image,.page-project .post__featured-image{width:100%;max-width:1440px;margin:auto}.page-post .post__content.highlight-first p:first-child,.page-project .post__content.highlight-first p:first-child,.page-post .post__content.highlight-first input[type=text]:first-child,.page-project .post__content.highlight-first input[type=text]:first-child,.page-post .post__content.highlight-first input[type=email]:first-child,.page-project .post__content.highlight-first input[type=email]:first-child,.page-post .post__content.highlight-first textarea:first-child,.page-project .post__content.highlight-first textarea:first-child{line-height:36px}.page-post .post__content,.page-project .post__content{max-width:940px;margin-bottom:80px}.page-post .post__content p,.page-project .post__content p,.page-post .post__content input[type=text],.page-project .post__content input[type=text],.page-post .post__content input[type=email],.page-project .post__content input[type=email],.page-post .post__content textarea,.page-project .post__content textarea{margin-bottom:16px}.page-post .post__content ul,.page-project .post__content ul,.page-post .post__content ol,.page-project .post__content ol{margin-bottom:24px;padding-left:2em}.page-post .post__content h1+ul,.page-project .post__content h1+ul,.page-post .post__content h2+ul,.page-project .post__content h2+ul,.page-post .post__content h3+ul,.page-project .post__content h3+ul,.page-post .post__content h4+ul,.page-project .post__content h4+ul,.page-post .post__content h5+ul,.page-project .post__content h5+ul,.page-post .post__content h6+ul,.page-project .post__content h6+ul{padding-left:1.5em}.page-post .post__content p img,.page-project .post__content p img,.page-post .post__content input[type=text] img,.page-project .post__content input[type=text] img,.page-post .post__content input[type=email] img,.page-project .post__content input[type=email] img,.page-post .post__content textarea img,.page-project .post__content textarea img{width:calc(100vw - 60px);max-width:1140px;margin:40px 0}.page-post .post__content h2,.page-project .post__content h2{margin:80px 0 16px}.page-post .post__content h3,.page-project .post__content h3,.page-post .post__content h4,.page-project .post__content h4{margin:56px 0 16px}.page-post .post__content .table-wrap,.page-project .post__content .table-wrap{display:block;width:100%;overflow-x:auto}.page-post .post__content table:not(.rouge-table),.page-project .post__content table:not(.rouge-table){min-width:600px;margin:32px 0 40px;border:2px solid #ecf0f1}.page-post .post__content table:not(.rouge-table) thead,.page-project .post__content table:not(.rouge-table) thead{background:#ecf0f1;color:#2c3e50;text-align:left;font-weight:700}.page-post .post__content table:not(.rouge-table) thead th,.page-project .post__content table:not(.rouge-table) thead th{font-weight:700}.page-post .post__content table:not(.rouge-table) th,.page-project .post__content table:not(.rouge-table) th,.page-post .post__content table:not(.rouge-table) td,.page-project .post__content table:not(.rouge-table) td{padding:10px;font-size:17px;font-weight:300}@media only screen and (min-width: 768px){.page-post .post__content table:not(.rouge-table) th,.page-project .post__content table:not(.rouge-table) th,.page-post .post__content table:not(.rouge-table) td,.page-project .post__content table:not(.rouge-table) td{padding:15px}}@media only screen and (min-width: 1220px){.page-post .post__content table:not(.rouge-table) th,.page-project .post__content table:not(.rouge-table) th,.page-post .post__content table:not(.rouge-table) td,.page-project .post__content table:not(.rouge-table) td{padding:20px}}.page-post .post__content table:not(.rouge-table) tr:nth-child(2n),.page-project .post__content table:not(.rouge-table) tr:nth-child(2n){background:#34495e}.page-post .post__content sup a.footnote,.page-project .post__content sup a.footnote{display:inline-block;margin-left:5px;min-width:16px;height:16px;border-radius:100%;border-bottom:none;padding:1px 3px;background:#34495e;font-size:10px;line-height:1.5;text-align:center;color:#95a5a6}.page-post .post__content sup a.footnote:hover,.page-project .post__content sup a.footnote:hover{background:#95a5a6;color:#2c3e50}.page-post .post__content .footnotes,.page-project .post__content .footnotes{margin-top:40px}@media only screen and (min-width: 768px){.page-post .post__content .footnotes,.page-project .post__content .footnotes{margin-top:60px}}@media only screen and (min-width: 1220px){.page-post .post__content .footnotes,.page-project .post__content .footnotes{margin-top:80px}}.page-post .post__content .footnotes ol,.page-project .post__content .footnotes ol{list-style:none;counter-reset:footnotes;padding:0}.page-post .post__content .footnotes ol li,.page-project .post__content .footnotes ol li{margin-top:5px;font-size:13px;counter-increment:footnotes}.page-post .post__content .footnotes ol li:before,.page-project .post__content .footnotes ol li:before{content:counter(footnotes);box-sizing:border-box;display:inline-block;margin-right:3px;width:20px;height:20px;border-radius:100%;border-bottom:none;padding:2px 3px;background:#34495e;font-size:11px;line-height:1.5;font-weight:700;text-align:center;color:#95a5a6}.page-post .post__content .footnotes ol li p,.page-project .post__content .footnotes ol li p,.page-post .post__content .footnotes ol li input[type=text],.page-project .post__content .footnotes ol li input[type=text],.page-post .post__content .footnotes ol li input[type=email],.page-project .post__content .footnotes ol li input[type=email],.page-post .post__content .footnotes ol li textarea,.page-project .post__content .footnotes ol li textarea{display:inline;max-width:100%;font-size:13px}.page-post .post__content .footnotes ol li p a.reversefootnote,.page-project .post__content .footnotes ol li p a.reversefootnote,.page-post .post__content .footnotes ol li input[type=text] a.reversefootnote,.page-project .post__content .footnotes ol li input[type=text] a.reversefootnote,.page-post .post__content .footnotes ol li input[type=email] a.reversefootnote,.page-project .post__content .footnotes ol li input[type=email] a.reversefootnote,.page-post .post__content .footnotes ol li textarea a.reversefootnote,.page-project .post__content .footnotes ol li textarea a.reversefootnote{border-bottom:0;vertical-align:sub}.page-post .post__content blockquote,.page-project .post__content blockquote{margin:40px 0;width:calc(100vw - 60px);max-width:1140px}.page-post .post__content blockquote p,.page-project .post__content blockquote p,.page-post .post__content blockquote input[type=text],.page-project .post__content blockquote input[type=text],.page-post .post__content blockquote input[type=email],.page-project .post__content blockquote input[type=email],.page-post .post__content blockquote textarea,.page-project .post__content blockquote textarea{margin:0}.page-post .post__content .code-header,.page-project .post__content .code-header{margin-top:1.5rem;padding:.65rem 1rem;border-bottom:1px solid rgba(255,255,255,.08);border-radius:6px 6px 0 0;background:#343746;color:rgba(248,248,242,.72);font-family:"Monaco","Menlo","Courier New",monospace;font-size:.85rem}.page-post .post__content code,.page-project .post__content code{font-family:"Monaco","Menlo","Courier New",monospace;font-size:.9rem;line-height:1.5}.page-post .post__content .code-header+.highlighter-rouge,.page-project .post__content .code-header+.highlighter-rouge,.page-post .post__content .code-header+figure.highlight,.page-project .post__content .code-header+figure.highlight{margin-top:0}.page-post .post__content .code-header+.highlighter-rouge .highlight,.page-project .post__content .code-header+.highlighter-rouge .highlight,.page-post .post__content .code-header+figure.highlight,.page-project .post__content .code-header+figure.highlight{border-radius:0 0 8px 8px}.page-post .post__content figure.highlight,.page-project .post__content figure.highlight{margin:0 0 1.75rem 0}.page-post .post__content figure.highlight pre,.page-project .post__content figure.highlight pre{margin:0;padding:24px 28px;border:none;background:rgba(0,0,0,0)}.page-post .post__content ul ul,.page-project .post__content ul ul,.page-post .post__content ul ol,.page-project .post__content ul ol,.page-post .post__content ol ul,.page-project .post__content ol ul,.page-post .post__content ol ol,.page-project .post__content ol ol{max-width:100%;padding-left:25px}.page-post .post__content .highlight,.page-project .post__content .highlight{display:block;font-size:17px;line-height:28px;overflow:auto}@media only screen and (min-width: 768px){.page-post .post__content .highlight,.page-project .post__content .highlight{font-size:18px}}.page-post .post__content .highlight .highlight,.page-project .post__content .highlight .highlight{padding:24px 28px}.page-post .post__content .highlighter-rouge,.page-project .post__content .highlighter-rouge{margin:32px 0}.page-post .post__content hr,.page-project .post__content hr{margin:30px auto}.page-post .post__content .gallery,.page-project .post__content .gallery{margin:32px auto}.page-post .post__content .gallery.full-width,.page-project .post__content .gallery.full-width{width:calc(100vw - 60px);max-width:1140px}.page-post .post__content .gallery.full-width img,.page-project .post__content .gallery.full-width img{max-width:1140px}.page-post .post__content .video-wrap.full-width,.page-project .post__content .video-wrap.full-width{width:calc(100vw - 60px);max-width:1140px}.page-post .post__content .image-wrap,.page-project .post__content .image-wrap,.page-post .post__content .video-wrap,.page-project .post__content .video-wrap{position:relative;margin:32px auto}.page-post .post__content .image-wrap:first-child,.page-project .post__content .image-wrap:first-child,.page-post .post__content .video-wrap:first-child,.page-project .post__content .video-wrap:first-child{margin-top:0}.page-post .post__content [class^=button],.page-project .post__content [class^=button]{margin-top:8px}.page-post .post__content .video,.page-project .post__content .video{position:relative;width:100%;height:0}.page-post .post__content .video iframe,.page-project .post__content .video iframe{position:absolute;top:0;left:0;width:100%;height:100%}@media only screen and (min-width: 768px){.page-post .post__header,.page-project .post__header{padding-bottom:80px}.page-post .post__title,.page-project .post__title{margin-bottom:32px}.page-post .post__date,.page-project .post__date{margin-bottom:80px}.page-post .post__content,.page-project .post__content{margin-bottom:120px}.page-post .post__content p img,.page-project .post__content p img,.page-post .post__content input[type=text] img,.page-project .post__content input[type=text] img,.page-post .post__content input[type=email] img,.page-project .post__content input[type=email] img,.page-post .post__content textarea img,.page-project .post__content textarea img{margin:72px 0}.page-post .post__content h3,.page-project .post__content h3{margin:80px 0 12px}.page-post .post__content h4,.page-project .post__content h4{margin:80px 0 24px}.page-post .post__content blockquote,.page-project .post__content blockquote{margin:64px 0}.page-post .post__content table:not(.rouge-table),.page-project .post__content table:not(.rouge-table){margin:40px 0 48px}.page-post .post__content .gallery,.page-project .post__content .gallery,.page-post .post__content .image-wrap,.page-project .post__content .image-wrap,.page-post .post__content .video-wrap,.page-project .post__content .video-wrap,.page-post .post__content .highlighter-rouge,.page-project .post__content .highlighter-rouge{margin:40px auto}}.post__content .optimization-slider-shell{position:relative;margin:48px auto 64px;width:100%;max-width:940px;padding:0;box-sizing:border-box;overflow:hidden}.post__content .optimization-slider-shell::after{content:"";position:absolute;right:0;top:0;bottom:0;width:48px;pointer-events:none;background:linear-gradient(270deg, #2c3e50 0%, rgba(44, 62, 80, 0.2) 40%, rgba(44, 62, 80, 0) 100%);z-index:2}.post__content .optimization-slider{display:flex;gap:1.5rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:32px 0 40px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) rgba(0,0,0,0);position:relative}.post__content .optimization-slider::-webkit-scrollbar{height:8px}.post__content .optimization-slider::-webkit-scrollbar-track{background:rgba(255,255,255,.03);border-radius:999px}.post__content .optimization-slider::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border-radius:999px}.post__content .optimization-slide{flex:0 0 min(100%, 940px);width:min(100%, 940px);max-width:940px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:1.5rem;scroll-snap-align:start;position:relative;box-shadow:0 12px 30px rgba(0,0,0,.24);backdrop-filter:blur(3px)}.post__content .optimization-slide h4,.post__content .optimization-slide h5,.post__content .optimization-slide h6{margin-top:0;font-size:1.05rem}.post__content .optimization-slide p,.post__content .optimization-slide input[type=text],.post__content .optimization-slide input[type=email],.post__content .optimization-slide textarea{font-size:.95rem;line-height:1.6}.post__content .optimization-slide pre{font-size:.85rem}.post__content .optimization-slider__nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:rgba(4,6,18,.85);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:3;transition:all .2s ease-in-out}.post__content .optimization-slider__nav svg{width:22px;height:22px;fill:currentColor}.post__content .optimization-slider__nav:focus-visible{outline:2px solid #de4949;outline-offset:3px}.post__content .optimization-slider__nav.is-disabled{opacity:.25;cursor:default;pointer-events:none}.post__content .optimization-slider__nav--prev{left:8px}.post__content .optimization-slider__nav--next{right:8px}@media(min-width: 1100px){.post__content .optimization-slider-shell{max-width:none;width:calc((100vw + 940px)/2);margin-right:0;padding-right:48px;position:relative;left:-80px}.post__content .optimization-slider-shell::after{width:96px;right:-48px;background:linear-gradient(270deg, #2c3e50 0%, rgba(44, 62, 80, 0.25) 50%, rgba(44, 62, 80, 0) 100%)}.post__content .optimization-slider{padding-right:0;position:relative;left:80px;overflow-x:auto;overflow-y:visible}}@media(max-width: 640px){.post__content .optimization-slider-shell{padding:0 16px}.post__content .optimization-slider-shell::after{width:56px;right:0;background:linear-gradient(270deg, #2c3e50 0%, rgba(44, 62, 80, 0.25) 50%, rgba(44, 62, 80, 0) 100%)}.post__content .optimization-slider{padding-right:16px;padding-left:0}.post__content .optimization-slider__nav{display:inline-flex;width:36px;height:36px;top:100%;transform:translateY(16px);background:rgba(4,6,18,.7)}.post__content .optimization-slider__nav svg{width:16px;height:16px}}.post__more{margin-bottom:120px;grid-gap:20px}.post__more a{padding:32px 30px;border:1px solid #ecf0f1;border-radius:8px;position:relative}.post__more .prev-post::before,.post__more .next-post::before{display:block;margin-bottom:8px}.post__more .prev-post::before{content:"Previous Post"}.post__more .next-post::before{content:"Next Post"}.post__more .prev-post::after,.post__more .next-post::after{content:"";display:block;width:20px;height:12px;background:url("/images/icons/arrow-left-gray.svg") center center no-repeat;position:absolute;top:calc(50% - 6px)}.post__more .next-post::after{right:30px;transform:rotate(180deg)}.post__more .prev-post{text-align:right}@media only screen and (min-width: 768px){.post__more{grid-template-columns:1fr 1fr}}.page-project .post__subtitle{margin-bottom:48px;max-width:556px}.page-project.page-project--has-toc .post__featured-image{display:block;width:calc(100% - 60px);max-width:940px;margin:0 auto;border-radius:18px}@media(min-width: 1500px){.page-project.page-project--has-toc .post__featured-image{position:relative;left:-100px}}.page-project .post__content h2,.page-project .post__content h3,.page-project .post__content h4{text-align:center}.page-project .post__content h2{margin-top:7.5rem;margin-bottom:3rem}.page-project .post__content h3{margin-top:5.5rem;margin-bottom:2.5rem}.page-project .post__content h4{margin-top:4rem;margin-bottom:1.85rem}.page-project .post__content hr{background-color:#de4949}.page-project .post__content blockquote{border-left-color:#de4949}.page-project .post__content table:not(.rouge-table){border:2px solid #de4949}.page-project .post__content table:not(.rouge-table) thead{background:#de4949}.page-project .post__content .gallery--carousel .owl-dot.active::after{background:#de4949}@media only screen and (min-width: 768px){.page-project .post__subtitle{margin-bottom:80px}}.header--main{padding:40px 0;z-index:1000}.header--main .header__logo{display:block;align-self:center;width:100px;position:relative;z-index:10}.header--main .header__title{font-family:Rubik,sans-serif;font-size:30px;font-weight:700;letter-spacing:-0.02em;line-height:1;color:#ecf0f1}@media only screen and (min-width: 768px){.header--main .header__title{font-size:40px}}@media only screen and (min-width: 1220px){.header--main .header__title{font-size:45px}}.header--main .header__title:hover{color:#de4949}.header--main .header__menu{display:flex;justify-content:center;width:100vw;height:100vh;position:fixed;top:10px;left:0;z-index:1000;background-color:rgba(44,62,80,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:0;visibility:hidden;-webkit-transition:all .6s cubic-bezier(0.2, 0.3, 0, 1);-moz-transition:all .6s cubic-bezier(0.2, 0.3, 0, 1);-ms-transition:all .6s cubic-bezier(0.2, 0.3, 0, 1);-o-transition:all .6s cubic-bezier(0.2, 0.3, 0, 1);transition:all .6s cubic-bezier(0.2, 0.3, 0, 1)}.header--main .header__cta{justify-self:end;align-self:center;display:none}@media only screen and (min-width: 768px){.header--main{padding:64px 0}.header--main .wrap{grid-template-columns:1fr 1fr 1fr}.header--main .header__menu{width:initial;height:initial;position:relative;background-color:rgba(0,0,0,0);backdrop-filter:none;-webkit-backdrop-filter:none;justify-self:center;opacity:1;visibility:visible;top:0;align-self:center}.header--main .header__menu,.header--main .header__cta{display:block}}.menu__toggle{position:absolute;z-index:1002;width:40px;height:40px;top:50%;right:30px;display:flex;align-items:center;justify-content:center;-moz-transform:translate(0, -50%);-o-transform:translate(0, -50%);-ms-transform:translate(0, -50%);-webkit-transform:translate(0, -50%);transform:translate(0, -50%);cursor:pointer;background-color:rgba(222,73,73,.08);border-radius:8px}.menu__toggle:active{background-color:rgba(222,73,73,.14)}@media only screen and (min-width: 768px){.menu__toggle{display:none}}body.locked .menu__toggle{display:none}.menu__toggle__icon{position:relative}.menu__toggle__icon span,.menu__toggle__icon span:before,.menu__toggle__icon span:after{content:"";display:block;width:18px;height:3px;-webkit-transition:all .12s;-moz-transition:all .12s;-ms-transition:all .12s;-o-transition:all .12s;transition:all .12s;background:#de4949;border-radius:4px}.menu__toggle__icon span:before{position:absolute;top:-6px}.menu__toggle__icon span:after{position:absolute;bottom:-6px}.menu--open .menu__toggle__icon span{background-color:rgba(0,0,0,0) !important}.menu--open .menu__toggle__icon span:before,.menu--open .menu__toggle__icon span:after{top:0}.menu--open .menu__toggle__icon span:before{-moz-transform:rotate(45deg);-o-transform:rotate(45deg);-ms-transform:rotate(45deg);-webkit-transform:rotate(45deg);transform:rotate(45deg)}.menu--open .menu__toggle__icon span:after{-moz-transform:rotate(-45deg);-o-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.menu--open .header__menu{opacity:1;visibility:visible;top:0px}.menu__list{list-style:none;display:flex;flex-direction:column;align-items:center;margin-top:120px}.menu__list .menu__list__item{margin-bottom:24px}.menu__list .menu__list__item__link,.menu__list .menu__cta__link{font-size:20px;font-weight:700;line-height:28px;letter-spacing:-0.2px;text-transform:none}.menu__list .menu__list__item__link.active-link,.menu__list .menu__cta__link.active-link{color:#de4949}.menu__list .menu__cta__link{color:#de4949}@media only screen and (min-width: 768px){.menu__list{margin-top:0;flex-direction:row}.menu__list .menu__list__item{margin-bottom:0px}.menu__list .menu__list__item:not(:first-child){margin-left:50px}.menu__list .menu__list__item__link{font-size:14px;line-height:18px;display:inline-block;color:#ecf0f1;font-weight:500;letter-spacing:.4px;text-transform:uppercase}.menu__list .menu__cta__link{display:none}}.footer{-webkit-transition:all .4s ease-in-out .8s;-moz-transition:all .4s ease-in-out .8s;-ms-transition:all .4s ease-in-out .8s;-o-transition:all .4s ease-in-out .8s;transition:all .4s ease-in-out .8s;padding:64px 0}.footer .footer__logo{justify-self:center}.footer .footer__title{font-family:Rubik,sans-serif;font-size:30px;font-weight:700;letter-spacing:-0.02em;line-height:1;color:#ecf0f1}@media only screen and (min-width: 768px){.footer .footer__title{font-size:40px}}@media only screen and (min-width: 1220px){.footer .footer__title{font-size:45px}}.footer .footer__title:hover{color:#de4949}.footer .footer__links{display:grid;grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));gap:32px;margin-top:32px}.footer .footer__links-group{min-width:0}.footer .footer__links-title{font-family:Rubik,sans-serif;font-size:14px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#ecf0f1;margin:0 0 12px}.footer .footer__links-list{list-style:none;margin:0;padding:0}.footer .footer__links-list li{margin-bottom:6px}.footer .footer__links-list a{color:#bdc3c7;text-decoration:none;font-size:14px;line-height:1.5}.footer .footer__links-list a:hover{color:#de4949}.footer .footer__copyright{margin-top:32px}@media only screen and (min-width: 768px){.footer .footer__copyright{justify-self:end;align-self:end;text-align:right;margin-top:0}}.footer .footer__copyright p,.footer .footer__copyright input[type=text],.footer .footer__copyright input[type=email],.footer .footer__copyright textarea{margin-bottom:10px}@media only screen and (min-width: 768px){.footer{padding:80px 0}.footer .wrap{grid-template-columns:1fr 2fr 1fr;column-gap:40px;align-items:start}.footer .footer__logo,.footer .footer__title{justify-self:start}.footer .footer__links{margin-top:0}}.highlight .hll{background-color:#f1fa8c}.highlight{background:#282a36;color:#f8f8f2}.highlight .c{color:#6272a4}.highlight .err{color:#f8f8f2}.highlight .g{color:#f8f8f2}.highlight .k{color:#ff79c6}.highlight .l{color:#f8f8f2}.highlight .n{color:#f8f8f2}.highlight .o{color:#ff79c6}.highlight .x{color:#f8f8f2}.highlight .p{color:#f8f8f2}.highlight .ch{color:#6272a4}.highlight .cm{color:#6272a4}.highlight .cp{color:#ff79c6}.highlight .cpf{color:#6272a4}.highlight .c1{color:#6272a4}.highlight .cs{color:#6272a4}.highlight .gd{color:#8b080b}.highlight .ge{color:#f8f8f2;text-decoration:underline}.highlight .gr{color:#f8f8f2}.highlight .gh{color:#f8f8f2;font-weight:bold}.highlight .gi{color:#f8f8f2;font-weight:bold}.highlight .go{color:#44475a}.highlight .gp{color:#f8f8f2}.highlight .gs{color:#f8f8f2}.highlight .gu{color:#f8f8f2;font-weight:bold}.highlight .gt{color:#f8f8f2}.highlight .kc{color:#ff79c6}.highlight .kd{color:#8be9fd;font-style:italic}.highlight .kn{color:#ff79c6}.highlight .kp{color:#ff79c6}.highlight .kr{color:#ff79c6}.highlight .kt{color:#8be9fd}.highlight .ld{color:#f8f8f2}.highlight .m{color:#bd93f9}.highlight .s{color:#f1fa8c}.highlight .na{color:#50fa7b}.highlight .nb{color:#8be9fd;font-style:italic}.highlight .nc{color:#50fa7b}.highlight .no{color:#f8f8f2}.highlight .nd{color:#f8f8f2}.highlight .ni{color:#f8f8f2}.highlight .ne{color:#f8f8f2}.highlight .nf{color:#50fa7b}.highlight .nl{color:#8be9fd;font-style:italic}.highlight .nn{color:#f8f8f2}.highlight .nx{color:#f8f8f2}.highlight .py{color:#f8f8f2}.highlight .nt{color:#ff79c6}.highlight .nv{color:#8be9fd;font-style:italic}.highlight .ow{color:#ff79c6}.highlight .w{color:#f8f8f2}.highlight .mb{color:#bd93f9}.highlight .mf{color:#bd93f9}.highlight .mh{color:#bd93f9}.highlight .mi{color:#bd93f9}.highlight .mo{color:#bd93f9}.highlight .sa{color:#f1fa8c}.highlight .sb{color:#f1fa8c}.highlight .sc{color:#f1fa8c}.highlight .dl{color:#f1fa8c}.highlight .sd{color:#f1fa8c}.highlight .s2{color:#f1fa8c}.highlight .se{color:#f1fa8c}.highlight .sh{color:#f1fa8c}.highlight .si{color:#f1fa8c}.highlight .sx{color:#f1fa8c}.highlight .sr{color:#f1fa8c}.highlight .s1{color:#f1fa8c}.highlight .ss{color:#f1fa8c}.highlight .bp{color:#f8f8f2;font-style:italic}.highlight .fm{color:#50fa7b}.highlight .vc{color:#8be9fd;font-style:italic}.highlight .vg{color:#8be9fd;font-style:italic}.highlight .vi{color:#8be9fd;font-style:italic}.highlight .vm{color:#8be9fd;font-style:italic}.highlight .il{color:#bd93f9}.rouge-table{border-collapse:collapse}.rouge-table td{padding:0;border:none}.rouge-table .gutter,.rouge-table .rouge-gutter,.rouge-table .gl{text-align:right;padding-right:20px;opacity:.4;user-select:none}@media only screen and (min-width: 768px){.rouge-table .gutter,.rouge-table .rouge-gutter,.rouge-table .gl{padding-right:32px}}.gallery{position:relative;margin:20px auto}@media only screen and (min-width: 768px){.gallery{margin:30px auto}}@media only screen and (min-width: 1220px){.gallery{margin:40px auto}}.gallery:first-child{margin-top:0}.gallery--on{visibility:visible}.gallery__item{position:relative}.gallery__item img{width:100%}.gallery--carousel .gallery__item__link{display:block;pointer-events:none}.gallery--carousel .owl-dots{margin-top:12px;text-align:center}.gallery--carousel .owl-dots .owl-dot{width:24px;height:24px;margin-right:8px;cursor:pointer;background-color:#2c3e50;-webkit-transition:all .4s cubic-bezier(0.65, 0.05, 0.36, 1) 0s;-moz-transition:all .4s cubic-bezier(0.65, 0.05, 0.36, 1) 0s;-ms-transition:all .4s cubic-bezier(0.65, 0.05, 0.36, 1) 0s;-o-transition:all .4s cubic-bezier(0.65, 0.05, 0.36, 1) 0s;transition:all .4s cubic-bezier(0.65, 0.05, 0.36, 1) 0s;outline:none}.gallery--carousel .owl-dots .owl-dot:after{content:"";display:block;width:100%;height:4px;background-color:#ecf0f1;border-radius:8px;-webkit-transition:all .4s cubic-bezier(0.65, 0.05, 0.36, 1) 0s;-moz-transition:all .4s cubic-bezier(0.65, 0.05, 0.36, 1) 0s;-ms-transition:all .4s cubic-bezier(0.65, 0.05, 0.36, 1) 0s;-o-transition:all .4s cubic-bezier(0.65, 0.05, 0.36, 1) 0s;transition:all .4s cubic-bezier(0.65, 0.05, 0.36, 1) 0s}.gallery--carousel .owl-dots .owl-dot.active{width:48px}.gallery--carousel .owl-dots .owl-dot.active:after{background:#de4949}.owl-nav{display:none}.gallery--grid .gallery__wrap{margin-left:-5px;margin-right:-5px}.gallery--grid .gallery__item{float:left;width:50%;padding:5px}.gallery--grid .gallery__item__link{display:block;cursor:zoom-in}.gallery--grid[data-columns="3"] .gallery__item{width:33.33%}.gallery--grid[data-columns="4"] .gallery__item{width:33.33%}@media only screen and (min-width: 768px){.gallery--grid[data-columns="4"] .gallery__item{width:25%}}.gallery--grid[data-columns="5"] .gallery__item{width:33.33%}@media only screen and (min-width: 768px){.gallery--grid[data-columns="5"] .gallery__item{width:25%}}@media only screen and (min-width: 1024px){.gallery--grid[data-columns="5"] .gallery__item{width:20%}}.gallery--grid[data-columns="6"] .gallery__item{width:33.33%}@media only screen and (min-width: 768px){.gallery--grid[data-columns="6"] .gallery__item{width:25%}}@media only screen and (min-width: 1024px){.gallery--grid[data-columns="6"] .gallery__item{width:20%}}@media only screen and (min-width: 1220px){.gallery--grid[data-columns="6"] .gallery__item{width:16.66%}}.contact{width:100vw;height:100vh;background-color:#fff;position:fixed;top:10px;left:0;z-index:1004;display:flex;overflow-y:scroll;opacity:0;visibility:hidden;transition:all 80ms;color:#2c3e50}.contact .title,.contact label{color:#2c3e50}.contact .subtitle,.contact .page-post .post__content.highlight-first p:first-child,.page-post .post__content.highlight-first .contact p:first-child,.contact .page-post .post__content.highlight-first input[type=text]:first-child,.page-post .post__content.highlight-first .contact input[type=text]:first-child,.contact .page-post .post__content.highlight-first input[type=email]:first-child,.page-post .post__content.highlight-first .contact input[type=email]:first-child,.contact .page-post .post__content.highlight-first textarea:first-child,.page-post .post__content.highlight-first .contact textarea:first-child,.contact .page-project .post__content.highlight-first p:first-child,.page-project .post__content.highlight-first .contact p:first-child,.contact .page-project .post__content.highlight-first input[type=text]:first-child,.page-project .post__content.highlight-first .contact input[type=text]:first-child,.contact .page-project .post__content.highlight-first input[type=email]:first-child,.page-project .post__content.highlight-first .contact input[type=email]:first-child,.contact .page-project .post__content.highlight-first textarea:first-child,.page-project .post__content.highlight-first .contact textarea:first-child,.contact .subtitle--light{color:#34495e}.contact input[type=text],.contact input[type=email],.contact textarea{color:#2c3e50;border-bottom-color:rgba(44,62,80,.25)}.contact input[type=text]:focus,.contact input[type=email]:focus,.contact textarea:focus{border-bottom-color:#2c3e50}.contact input[type=text]::placeholder,.contact input[type=email]::placeholder,.contact textarea::placeholder{color:rgba(44,62,80,.45)}.contact.visible{opacity:1;visibility:visible;top:0px}.contact .button--close-modal{position:absolute;top:0;right:0;z-index:20;width:40px;height:40px;background:rgba(0,0,0,0);border:1px solid rgba(44,62,80,.2);border-radius:8px;cursor:pointer;-webkit-transition:background .18s ease,border-color .18s ease;-moz-transition:background .18s ease,border-color .18s ease;-ms-transition:background .18s ease,border-color .18s ease;-o-transition:background .18s ease,border-color .18s ease;transition:background .18s ease,border-color .18s ease}.contact .button--close-modal::before,.contact .button--close-modal::after{content:"";position:absolute;top:50%;left:50%;width:16px;height:2px;background:#2c3e50}.contact .button--close-modal::before{transform:translate(-50%, -50%) rotate(45deg)}.contact .button--close-modal::after{transform:translate(-50%, -50%) rotate(-45deg)}.contact .button--close-modal:hover,.contact .button--close-modal:focus-visible{background:rgba(44,62,80,.06);border-color:rgba(44,62,80,.4)}.contact .contact__wrap{position:relative;max-width:556px;margin-top:100px;padding-bottom:80px}@media only screen and (min-width: 768px){.contact .wrap{display:flex;justify-content:center}}@media only screen and (min-width: 1024px){.contact .wrap{align-items:center}}.contact__header{margin-bottom:40px}.contact__header .title{margin-bottom:12px}.contact__feedback{margin-top:24px;padding:14px 18px;border-radius:8px;font-weight:700;line-height:1.4}.contact__feedback[hidden]{display:none}.contact__feedback a{color:inherit;text-decoration:underline}.contact__feedback--success{color:#2e7d4f;background:rgba(46,125,79,.08);border:1px solid rgba(46,125,79,.3)}.contact__feedback--error{color:#e06c75;background:rgba(224,108,117,.08);border:1px solid rgba(224,108,117,.35)}.post__card{transition:all 120ms;box-sizing:content-box}.post__card:hover{transform:translateY(-4px)}.post__card .post__link{display:block}.post__card .post__image{width:100%;height:220px;background-size:cover;background-position:center;margin-bottom:16px}.post__card .post__date{margin-bottom:6px}@media only screen and (min-width: 460px){.post__card .post__image{height:250px}}.about{margin-bottom:100px}.about hr{margin-bottom:80px}.about .about__image{width:100%;margin:0 0 40px 0;max-width:min(420px,100%);min-width:0;display:flex;flex-direction:column;align-items:center}.about .about__portrait-frame{position:relative;width:100%;overflow:hidden;border-radius:18px;border:1px solid rgba(255,255,255,.06);background:radial-gradient(ellipse 72% 52% at 52% 26%, rgba(255, 255, 255, 0.11) 0%, rgba(255, 255, 255, 0.03) 45%, rgba(255, 255, 255, 0) 72%),linear-gradient(to bottom, #34495E 0%, #2C3E50 82%);box-shadow:0 2px 8px rgba(0,0,0,.16),0 20px 76px -22px rgba(0,0,0,.44)}.about .about__portrait{display:block;width:100%;height:auto}.about .title{margin-bottom:16px}.about .about__eyebrow{color:#de4949;text-transform:uppercase;font-weight:700;letter-spacing:.08em;font-size:13px;margin-bottom:8px}.about .about__content{max-width:520px;min-width:0}.about .about__content .title{margin-bottom:20px}.about .about__content .subtitle,.about .about__content .subtitle--light,.about .about__content .page-post .post__content.highlight-first p:first-child,.page-post .post__content.highlight-first .about .about__content p:first-child,.about .about__content .page-post .post__content.highlight-first input[type=text]:first-child,.page-post .post__content.highlight-first .about .about__content input[type=text]:first-child,.about .about__content .page-post .post__content.highlight-first input[type=email]:first-child,.page-post .post__content.highlight-first .about .about__content input[type=email]:first-child,.about .about__content .page-post .post__content.highlight-first textarea:first-child,.page-post .post__content.highlight-first .about .about__content textarea:first-child,.about .about__content .page-project .post__content.highlight-first p:first-child,.page-project .post__content.highlight-first .about .about__content p:first-child,.about .about__content .page-project .post__content.highlight-first input[type=text]:first-child,.page-project .post__content.highlight-first .about .about__content input[type=text]:first-child,.about .about__content .page-project .post__content.highlight-first input[type=email]:first-child,.page-project .post__content.highlight-first .about .about__content input[type=email]:first-child,.about .about__content .page-project .post__content.highlight-first textarea:first-child,.page-project .post__content.highlight-first .about .about__content textarea:first-child{margin-bottom:16px}.about .about__content p,.about .about__content input[type=text],.about .about__content input[type=email],.about .about__content textarea{margin-bottom:16px}.about .about__content .cta{margin:8px 0 0 -4px}@media only screen and (min-width: 768px){.about{margin-bottom:190px}.about hr{margin-bottom:140px}.about .wrap{grid-template-columns:1fr 1fr}.about .about__image{width:100%;margin-left:0;max-width:min(470px,100%)}.about .about__content{margin-top:122px}.about .about__content .title{font-size:36px;line-height:44px}.about .about__content p,.about .about__content input[type=text],.about .about__content input[type=email],.about .about__content textarea{font-size:19px;line-height:32px}.about .about__content .subtitle,.about .about__content .subtitle--light,.about .about__content .page-post .post__content.highlight-first p:first-child,.page-post .post__content.highlight-first .about .about__content p:first-child,.about .about__content .page-post .post__content.highlight-first input[type=text]:first-child,.page-post .post__content.highlight-first .about .about__content input[type=text]:first-child,.about .about__content .page-post .post__content.highlight-first input[type=email]:first-child,.page-post .post__content.highlight-first .about .about__content input[type=email]:first-child,.about .about__content .page-post .post__content.highlight-first textarea:first-child,.page-post .post__content.highlight-first .about .about__content textarea:first-child,.about .about__content .page-project .post__content.highlight-first p:first-child,.page-project .post__content.highlight-first .about .about__content p:first-child,.about .about__content .page-project .post__content.highlight-first input[type=text]:first-child,.page-project .post__content.highlight-first .about .about__content input[type=text]:first-child,.about .about__content .page-project .post__content.highlight-first input[type=email]:first-child,.page-project .post__content.highlight-first .about .about__content input[type=email]:first-child,.about .about__content .page-project .post__content.highlight-first textarea:first-child,.page-project .post__content.highlight-first .about .about__content textarea:first-child{margin-bottom:24px}}.socials{display:flex;list-style:none;margin:34px 0 0;padding:0}.socials__item{margin-left:18px}.socials__item:first-child{margin-left:0}.socials__item__link{position:relative;display:flex;align-items:center;justify-content:center;font-size:20px;color:rgba(255,255,255,.6);transition:color 180ms ease}.socials__item__link:hover{color:#de4949}.socials__item__link:active{transform:scale(0.92)}.socials__item__icon{display:inline-flex}.socials__item__icon svg{width:20px;height:20px}.recent-posts{padding:64px 0 80px;background-color:#f9f9fa}.recent-posts h4,.recent-posts h5{color:#2c3e50}.recent-posts .recent-posts__header{margin-bottom:40px}.recent-posts .recent-posts__header .action{display:none;justify-self:end;align-self:center}.recent-posts .recent-posts__list{width:100%;grid-template-columns:1fr;grid-gap:56px;margin-bottom:48px}.recent-posts .action-bottom{justify-self:center}@media only screen and (min-width: 768px){.recent-posts{padding:120px 0 110px}.recent-posts .recent-posts__header{display:grid;grid-template-columns:1fr 1fr}.recent-posts .recent-posts__header .action{display:block;justify-self:end;align-self:center}.recent-posts .recent-posts__list{grid-gap:30px;grid-template-columns:1fr 1fr 1fr}.recent-posts .post__image{height:180px}.recent-posts .action-bottom{display:none}}@media only screen and (min-width: 1024px){.recent-posts .post__image{height:250px}}codersrank-summary{--bg-color: transparent;--header-bg-color: transparent;--badge-bg-color: transparent;--badge-text-color: #fff;--badges-padding: 0px;--badge-padding: 8px;--badge-margin: 16px;--badge-border-radius: 8px;--badge-rank-font-size: 16px;--badge-technology-font-size: 18px;--badge-location-font-size: 16px;--badge-icon-size: 32px;--badge-border: 5px solid rgba(0, 0, 0, 0.1);--badge-box-shadow: none}codersrank-activity{padding:8px;border-radius:8px;background:#161616;--bg-color-0: #111;--bg-color-1: rgba(var(--theme-color-rgb), 0.25);--bg-color-2: rgba(var(--theme-color-rgb), 0.5);--bg-color-3: rgba(var(--theme-color-rgb), 0.75);--bg-color-4: rgba(var(--theme-color-rgb), 1);--label-text-color: rgba(255, 255, 255, 0.54)}pre.mermaid{background:#fff}.mermaid-block{margin:24px 0}.mermaid-block__title{font-weight:700;margin:0 0 10px;color:#ecf0f1;letter-spacing:-0.01em}.mermaid-compare{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:20px;margin:24px 0}.mermaid-compare--1-2{grid-template-columns:minmax(0, 1fr) minmax(0, 2fr)}.mermaid-compare--2-1{grid-template-columns:minmax(0, 2fr) minmax(0, 1fr)}.mermaid-compare--1-3{grid-template-columns:minmax(0, 1fr) minmax(0, 3fr)}.mermaid-compare--3-1{grid-template-columns:minmax(0, 3fr) minmax(0, 1fr)}.mermaid-compare__item{min-width:0;background:#325573;border:2px solid #fff;border-radius:8px;padding:1.5rem 1rem;margin-bottom:16px}.mermaid-compare__item .mermaid-block{margin:0}.mermaid-compare__item pre.mermaid{background:rgba(0,0,0,0);text-align:center}.mermaid-compare__item pre.mermaid svg{display:inline-block;max-width:100%;height:auto}.mermaid-compare__item .cluster-label foreignObject div,.mermaid-compare__item .cluster-label foreignObject span,.mermaid-compare__item .cluster-label foreignObject p,.mermaid-compare__item .cluster-label foreignObject input[type=text],.mermaid-compare__item .cluster-label foreignObject input[type=email],.mermaid-compare__item .cluster-label foreignObject textarea{text-align:left !important}@media(max-width: 900px){.mermaid-compare,.mermaid-compare--1-2,.mermaid-compare--2-1,.mermaid-compare--1-3,.mermaid-compare--3-1{grid-template-columns:1fr}}.mermaid--light{background:rgba(255,255,255,.1);border-radius:8px;padding:1.5rem 1rem;margin:1.5rem 0}.mermaid--loading{position:relative;min-height:120px;color:rgba(0,0,0,0)}.mermaid--loading::after{content:"";position:absolute;top:50%;left:50%;width:28px;height:28px;margin:-14px 0 0 -14px;border:3px solid #c8b9ae;border-top-color:#784421;border-radius:50%;animation:mermaid-spin .9s linear infinite}@keyframes mermaid-spin{to{transform:rotate(360deg)}}.page-history{--history-bg-primary: #2C3E50;--history-bg-secondary: #34495E;--history-bg-tertiary: #32465a;--history-text-primary: #ECF0F1;--history-text-secondary: #BDC3C7;--history-text-tertiary: #95A5A6;--history-accent: #DE4949;--history-accent-alt: #e67474;--history-accent-muted: #6a424e;--history-border: #ECF0F1;--history-code-bg: #314558;--history-quote-border: #DE4949;color:var(--history-text-primary);background:var(--history-bg-primary)}.page-history .history-header{background:var(--history-bg-secondary);border-bottom:1px solid var(--history-border);padding:2rem 0;margin-bottom:3rem}.page-history .history-header h1{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;color:var(--history-text-primary)}.page-history .history-header p,.page-history .history-header input[type=text],.page-history .history-header input[type=email],.page-history .history-header textarea{color:var(--history-text-secondary);font-size:1.1rem}.page-history .history-header .subtitle,.page-history .history-header .subtitle--light,.page-history .history-header .page-post .post__content.highlight-first p:first-child,.page-post .post__content.highlight-first .page-history .history-header p:first-child,.page-history .history-header .page-post .post__content.highlight-first input[type=text]:first-child,.page-post .post__content.highlight-first .page-history .history-header input[type=text]:first-child,.page-history .history-header .page-post .post__content.highlight-first input[type=email]:first-child,.page-post .post__content.highlight-first .page-history .history-header input[type=email]:first-child,.page-history .history-header .page-post .post__content.highlight-first textarea:first-child,.page-post .post__content.highlight-first .page-history .history-header textarea:first-child,.page-history .history-header .page-project .post__content.highlight-first p:first-child,.page-project .post__content.highlight-first .page-history .history-header p:first-child,.page-history .history-header .page-project .post__content.highlight-first input[type=text]:first-child,.page-project .post__content.highlight-first .page-history .history-header input[type=text]:first-child,.page-history .history-header .page-project .post__content.highlight-first input[type=email]:first-child,.page-project .post__content.highlight-first .page-history .history-header input[type=email]:first-child,.page-history .history-header .page-project .post__content.highlight-first textarea:first-child,.page-project .post__content.highlight-first .page-history .history-header textarea:first-child{color:var(--history-text-tertiary);font-size:.95rem;margin-top:.25rem}.page-history .history-nav{background:var(--history-bg-tertiary);border-radius:8px;padding:1rem;margin-bottom:2rem;border:1px solid var(--history-border)}.page-history .history-nav ul{list-style:none;display:flex;gap:1.5rem;flex-wrap:wrap;margin:0;padding:0}.page-history .history-nav a{color:var(--history-accent);text-decoration:none;transition:color .2s;font-weight:500}.page-history .history-nav a:hover{color:var(--history-accent-alt)}.page-history .timeline{position:relative;padding-left:2rem}.page-history .timeline::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg, var(--history-accent), var(--history-accent-alt), transparent)}.page-history .phase{background:var(--history-bg-secondary);border:1px solid var(--history-border);border-radius:8px;padding:2rem;margin-bottom:2rem;position:relative;transition:transform .2s,box-shadow .2s}.page-history .phase:hover{transform:translateX(4px);box-shadow:0 4px 20px rgba(0,0,0,.15)}.page-history .phase::before{content:"";position:absolute;left:-2.5rem;top:2rem;width:12px;height:12px;background:var(--history-accent);border-radius:50%;border:3px solid var(--history-bg-primary)}.page-history .phase-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.page-history .phase-title{font-size:1.5rem;font-weight:600;color:var(--history-text-primary);margin-bottom:.25rem}.page-history .phase-date{color:var(--history-text-tertiary);font-size:.9rem;white-space:nowrap;padding:.25rem .75rem;background:var(--history-bg-tertiary);border-radius:4px;border:1px solid var(--history-border)}.page-history .phase-summary{color:var(--history-text-secondary);margin-bottom:1.5rem;line-height:1.7}.page-history .phase-highlights{list-style:none;margin-bottom:1.5rem;padding-left:0}.page-history .phase-highlights li{padding-left:1.5rem;position:relative;margin-bottom:.75rem;color:var(--history-text-secondary)}.page-history .phase-highlights li::before{content:"→";position:absolute;left:0;color:var(--history-accent);font-weight:bold}.page-history .phase-quote{border-left:3px solid var(--history-quote-border);padding:1rem 1.5rem;margin:1.5rem 0;background:var(--history-bg-tertiary);border-radius:0 4px 4px 0;font-style:italic;color:var(--history-text-secondary)}.page-history .phase-stats{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:1rem;margin:1.5rem 0}.page-history .stat{background:#223447;padding:1rem;border-radius:6px;border:none;box-shadow:0 0 12px rgba(255,255,255,.08)}.page-history .stat-label{color:var(--history-text-tertiary);font-size:.85rem;margin-bottom:.25rem}.page-history .stat-value{font-size:1.5rem;font-weight:600;color:var(--history-accent)}.page-history .phase-link,.page-history .history-card__link,.page-history .back-link{display:inline-flex;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;background:rgba(0,0,0,0);border:1px solid var(--history-border);color:var(--history-text-primary);text-decoration:none;border-radius:6px;font-weight:500;transition:background .2s,transform .2s;position:relative}.page-history .phase-link:hover,.page-history .history-card__link:hover,.page-history .back-link:hover{background:var(--history-bg-tertiary);transform:translateY(-2px)}.page-history .phase-link::after,.page-history .history-card__link::after{content:"";width:20px;height:12px;background:url("/images/icons/arrow-right-accent.svg") center center no-repeat;display:block}.page-history pre{background:var(--history-code-bg);border:1px solid var(--history-border);border-radius:6px;padding:1.5rem;overflow-x:auto;margin:1.5rem 0}.page-history code{font-family:"Monaco","Menlo","Courier New",monospace;font-size:.9rem;line-height:1.5}.page-history .detail-container{max-width:940px;margin:0 auto}.page-history .highlighter-rouge{margin:32px 0}.page-history .highlight{display:block;font-size:17px;line-height:28px;overflow:auto;padding:24px 28px;border-radius:8px}@media only screen and (min-width: 768px){.page-history .highlight{font-size:18px}}.page-history .highlight pre{margin:0;padding:0;border:none;background:rgba(0,0,0,0)}.page-history.page-history--phase .wrap{max-width:1200px}.page-history.page-history--phase .detail-container{max-width:940px;margin:0}.page-history .commit-list{background:var(--history-bg-secondary);border:1px solid var(--history-border);border-radius:8px;overflow:hidden}.page-history .commit-item{padding:1rem 1.5rem;border-bottom:1px solid var(--history-border);transition:background .2s}.page-history .commit-item:last-child{border-bottom:none}.page-history .commit-item:hover{background:var(--history-bg-tertiary)}.page-history .commit-hash{font-family:"Monaco","Menlo","Courier New",monospace;color:var(--history-accent);font-size:.85rem;margin-right:1rem}.page-history .commit-date{color:var(--history-text-tertiary);font-size:.85rem;margin-right:1rem}.page-history .commit-message{color:var(--history-text-primary);font-weight:500}.page-history .commit-type-fix{border-left:3px solid var(--history-accent)}.page-history .commit-type-feat{border-left:3px solid var(--history-accent)}.page-history .commit-type-refactor{border-left:3px solid var(--history-accent)}.page-history .commit-type-chore{border-left:3px solid var(--history-text-tertiary)}.page-history .commit-type-merge{border-left:3px solid var(--history-accent-alt)}.page-history .commit-repo{display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px 2px;border-radius:3px;margin-right:.75rem;margin-bottom:4px;vertical-align:middle;background:var(--history-bg-tertiary);color:var(--history-text-tertiary);border:1px solid var(--history-border)}.page-history .tag{display:inline-block;padding:.25rem .75rem;border-radius:4px;font-size:.8rem;font-weight:500;margin-right:.5rem;margin-bottom:.5rem;background:var(--history-accent-muted);color:#fff}.page-history .tag-frontend{background:var(--history-accent)}.page-history .tag-backend{background:var(--history-accent-alt)}.page-history .tag-performance{background:var(--history-accent)}.page-history .tag-security{background:var(--history-accent-alt)}.page-history .tag-refactor{background:var(--history-text-tertiary)}.page-history .tag-architecture{background:var(--history-accent-alt)}.page-history .tag-ai{background:var(--history-accent)}.page-history .tag-design{background:var(--history-accent)}.page-history .tag-testing{background:var(--history-text-tertiary)}.page-history .tag-metering{background:var(--history-accent-alt)}.page-history .tag-deployment{background:var(--history-text-tertiary)}.page-history .topic-filter{margin-bottom:2.5rem}.page-history .topic-filter .section-title{font-size:1.4rem;margin-bottom:1rem}.page-history .topic-pills{display:flex;flex-wrap:wrap;gap:.5rem}.page-history .topic-pill{display:inline-block;padding:.4rem 1rem;border-radius:20px;font-size:.85rem;font-weight:500;border:1px solid var(--history-border);background:var(--history-bg-secondary);color:var(--history-text-secondary);cursor:pointer;transition:all .15s ease}.page-history .topic-pill:hover{border-color:var(--history-accent);color:var(--history-accent)}.page-history .topic-pill.active{background:var(--history-accent);border-color:var(--history-accent);color:#fff}.page-history .phase.topic-hidden{display:none}.page-history .timeline.is-filtered .phase{padding:1.5rem;margin-bottom:1.25rem;animation:phase-blurb-in .2s ease}.page-history .timeline.is-filtered .phase-title{font-size:1.25rem}.page-history .timeline.is-filtered .phase-summary{margin-bottom:1rem}.page-history .timeline.is-filtered .phase-highlights,.page-history .timeline.is-filtered .phase-stats{display:none}@keyframes phase-blurb-in{from{opacity:0}to{opacity:1}}.page-history table:not(.rouge-table){width:100%;border-collapse:collapse;margin:1.5rem 0;background:var(--history-bg-secondary);border:1px solid var(--history-border);border-radius:8px;overflow:hidden}.page-history table:not(.rouge-table) thead{background:var(--history-bg-tertiary);text-align:left}.page-history table:not(.rouge-table) thead th{padding:.75rem 1rem;font-size:.85rem;font-weight:600;color:var(--history-text-tertiary);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--history-border)}@media only screen and (min-width: 768px){.page-history table:not(.rouge-table) thead th{padding:1rem 1.25rem}}.page-history table:not(.rouge-table) td{padding:.75rem 1rem;font-size:.9rem;color:var(--history-text-secondary);border-bottom:1px solid var(--history-border)}@media only screen and (min-width: 768px){.page-history table:not(.rouge-table) td{padding:1rem 1.25rem}}.page-history table:not(.rouge-table) tbody tr{transition:background .2s}.page-history table:not(.rouge-table) tbody tr:last-child td{border-bottom:none}.page-history table:not(.rouge-table) tbody tr:hover{background:var(--history-bg-tertiary)}.page-history .content-section{background:rgba(0,0,0,0);border:none;border-radius:0;padding:0;margin-bottom:3rem}.page-history .content-section p,.page-history .content-section input[type=text],.page-history .content-section input[type=email],.page-history .content-section textarea{margin-bottom:1rem;line-height:1.65}.page-history .content-section p:last-child,.page-history .content-section input[type=text]:last-child,.page-history .content-section input[type=email]:last-child,.page-history .content-section textarea:last-child{margin-bottom:0}.page-history .section-title{font-size:1.8rem;font-weight:600;margin-bottom:1rem;color:var(--history-text-primary)}.page-history .subsection-title{font-size:1.3rem;font-weight:600;margin:2rem 0 1rem 0;color:var(--history-accent)}.page-history .history-subheading{font-size:1.1rem;font-weight:600;margin:2rem 0 1rem 0;color:var(--history-text-primary)}.page-history .history-subheading--compact{margin-top:0;font-size:1.1rem}.page-history .code-header{background:var(--history-bg-tertiary);padding:.65rem 1rem;border-radius:6px 6px 0 0;border-bottom:1px solid var(--history-border);font-size:.85rem;color:var(--history-text-tertiary);font-family:"Monaco","Menlo","Courier New",monospace;margin-top:1.5rem}.page-history .code-header+.highlighter-rouge{margin-top:0}.page-history .code-header+.highlighter-rouge .highlight{border-radius:0 0 8px 8px}.page-history .code-header+table:not(.rouge-table){margin-top:0;border-top:none;border-radius:0 0 8px 8px}.page-history .code-header+.workspace-mockup{margin-top:0;border-radius:0 0 8px 8px}.page-history figure.highlight{margin:0 0 1.75rem 0}.page-history .workspace-mockup{display:flex;border-radius:8px;overflow:hidden;background:var(--history-bg-secondary);margin:0 0 2rem;height:320px;font-size:.85rem}.page-history .workspace-mockup input[type=radio]{display:none}.page-history .workspace-mockup .wm-sidebar{width:175px;min-width:175px;border-right:1px solid var(--history-border);background:rgba(255,255,255,.07);display:flex;flex-direction:column}.page-history .workspace-mockup .wm-sidebar-title{padding:.65rem 1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--history-text-tertiary);border-bottom:1px solid var(--history-border)}.page-history .workspace-mockup .wm-thought{display:block;margin:.4rem .5rem;padding:.45rem .7rem;border-radius:6px;background:var(--history-bg-secondary);border:1px solid var(--history-border);box-shadow:0 1px 3px rgba(0,0,0,.1);cursor:pointer;color:var(--history-text-secondary);transition:box-shadow .15s,color .15s,border-color .15s;user-select:none;font-size:.85rem;line-height:1.3}.page-history .workspace-mockup .wm-thought:hover{box-shadow:0 2px 6px rgba(0,0,0,.16);color:var(--history-text-primary)}.page-history .workspace-mockup .wm-main{flex:1;overflow-y:auto;padding:.75rem}.page-history .workspace-mockup .wm-panel{display:none}.page-history .workspace-mockup .wm-node{border-radius:6px;padding:.4rem .55rem;margin-bottom:.3rem}.page-history .workspace-mockup .wm-node--thought{background:rgba(129,140,248,.08);border:1px solid rgba(129,140,248,.2)}.page-history .workspace-mockup .wm-node--insight{background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.2)}.page-history .workspace-mockup .wm-node--prompt{background:rgba(56,189,248,.08);border:1px solid rgba(56,189,248,.2)}.page-history .workspace-mockup .wm-node--result{background:rgba(52,211,153,.08);border:1px solid rgba(52,211,153,.2)}.page-history .workspace-mockup .wm-node-header{display:flex;align-items:flex-start;gap:.5rem}.page-history .workspace-mockup .wm-node-children{margin-top:.35rem;padding-left:.25rem}.page-history .workspace-mockup .wm-badge{font-size:.65rem;font-weight:600;padding:.15rem .45rem;border-radius:3px;text-transform:uppercase;letter-spacing:.03em;margin-top:.1rem;flex-shrink:0;white-space:nowrap;text-align:center}.page-history .workspace-mockup .wm-badge--thought{background:rgba(129,140,248,.2);color:#818cf8}.page-history .workspace-mockup .wm-badge--insight{background:rgba(251,191,36,.2);color:#fbbf24}.page-history .workspace-mockup .wm-badge--prompt{background:rgba(56,189,248,.2);color:#38bdf8}.page-history .workspace-mockup .wm-badge--result{background:rgba(52,211,153,.2);color:#34d399}.page-history .workspace-mockup .wm-text{color:var(--history-text-secondary);line-height:1.4;font-size:.82rem}.page-history #wm-r1:checked~.wm-sidebar label[for=wm-r1],.page-history #wm-r2:checked~.wm-sidebar label[for=wm-r2],.page-history #wm-r3:checked~.wm-sidebar label[for=wm-r3]{color:var(--history-text-primary);border-color:var(--history-accent);box-shadow:0 1px 4px rgba(0,0,0,.15)}.page-history #wm-r1:checked~.wm-main .wm-panel-1,.page-history #wm-r2:checked~.wm-main .wm-panel-2,.page-history #wm-r3:checked~.wm-main .wm-panel-3{display:block}.page-history .history-index{display:grid;gap:1.5rem}.page-history .history-card{background:var(--history-bg-secondary);border:1px solid var(--history-border);border-radius:8px;padding:2rem}.page-history .history-card__title{font-size:1.6rem;margin-bottom:.5rem}.page-history .history-card__title a{color:var(--history-text-primary);text-decoration:none}.page-history .history-card__title a:hover{color:var(--history-accent)}.page-history .history-card__date{color:var(--history-text-tertiary);font-size:.9rem;margin-bottom:.75rem}.page-history .history-card__summary{color:var(--history-text-secondary);margin-bottom:1rem}.page-history .history-grid{column-count:2;column-gap:2rem;margin-top:1.5rem}.page-history .history-grid>div{break-inside:avoid;margin-bottom:2rem}@media(max-width: 768px){.page-history .history-grid{column-count:1}}@media(max-width: 768px){.page-history .history-header h1{font-size:2rem}.page-history .timeline{padding-left:1.5rem}.page-history .phase{padding:1.5rem}.page-history .phase-header{flex-direction:column;gap:.5rem}.page-history .phase-stats{grid-template-columns:1fr}.page-history .history-nav ul{flex-direction:column;gap:.75rem}}.project-quote{border-left:3px solid var(--history-accent, #DE4949);padding:.75rem 1.25rem;margin:1.5rem 0;background:rgba(52,73,94,.5);border-radius:0 4px 4px 0;font-size:.95rem;line-height:1.6;color:#bdc3c7}.project-quote strong{color:#ecf0f1;font-weight:600}.project-quote p,.project-quote input[type=text],.project-quote input[type=email],.project-quote textarea{margin:0}.history-callout{background:linear-gradient(135deg, #1a2332 0%, #1e2938 100%);border-left:4px solid var(--history-accent, var(--callout-accent, #DE4949));padding:1.5rem;margin:2rem 0;border-radius:8px;box-shadow:0 8px 30px rgba(0,0,0,.25);color:var(--history-text-primary, var(--callout-text, #ECF0F1))}.history-callout h4{margin-top:0;margin-bottom:1rem;color:var(--history-text-primary, var(--callout-text, #ECF0F1))}.history-callout p,.history-callout input[type=text],.history-callout input[type=email],.history-callout textarea{margin-bottom:1rem;color:var(--history-text-secondary, var(--callout-text-secondary, #BDC3C7))}.history-callout>*:last-child{margin-bottom:0}.snapshot-panel{position:relative;margin:2.25rem 0 2.75rem;padding:2.25rem 2.25rem 2rem;border-radius:10px;background:linear-gradient(135deg, #1a2332 0%, #1e2938 100%);border:1px solid rgba(255,255,255,.06);box-shadow:0 10px 36px rgba(0,0,0,.28);color:var(--history-text-primary, var(--callout-text, #ECF0F1))}.snapshot-panel__logo{display:flex;justify-content:center;margin-bottom:1.25rem;opacity:.55}.snapshot-panel__logo img{max-height:3.5rem;width:auto;display:block}.snapshot-panel__lead{font-size:1.12rem;line-height:1.55;margin:0;color:var(--history-text-primary, var(--callout-text, #ECF0F1))}.snapshot-panel__divider{height:1px;margin:1.5rem 0 1.85rem;background:linear-gradient(to right, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0.04) 60%, rgba(255, 255, 255, 0) 100%)}.snapshot-panel__grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:2.5rem 2.4rem;list-style:none;margin:0;padding:0}@media(max-width: 768px){.snapshot-panel__grid{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5rem 1.75rem}}@media(max-width: 480px){.snapshot-panel__grid{grid-template-columns:1fr;gap:1.4rem}}.snapshot-panel__tile{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:.8rem;row-gap:.3rem;align-items:start}.snapshot-panel__icon{grid-row:1/span 2;display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;color:var(--history-accent, var(--callout-accent, #DE4949));margin-top:.1rem}.snapshot-panel__icon svg{width:100%;height:100%;display:block}.snapshot-panel__label{font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--history-text-secondary, var(--callout-text-secondary, #BDC3C7))}.snapshot-panel__value{font-size:.97rem;line-height:1.4;color:var(--history-text-primary, var(--callout-text, #ECF0F1))}.snapshot-panel__link{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:rgba(0,0,0,.28);transition:color .2s ease,text-decoration-color .2s ease}.snapshot-panel__link:hover,.snapshot-panel__link:focus-visible{color:var(--history-accent, var(--callout-accent, #DE4949));text-decoration-color:currentColor}.snapshot-panel__meta{grid-column:2;font-size:.78rem;font-weight:400;line-height:1.35;letter-spacing:.02em;margin-top:.15rem;color:var(--history-text-tertiary, var(--callout-text-secondary, #BDC3C7))}.heading-sub{display:block;margin-top:.3rem;font-size:.45em;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--callout-text-secondary, #BDC3C7)}.skim{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.6rem 2.4rem;margin:1.75rem 0 2.5rem;padding:0;padding-left:0 !important;list-style:none}@media(max-width: 600px){.skim{grid-template-columns:1fr;gap:1.4rem}}.skim__item{position:relative;padding-left:1.1rem}.skim__item::before{content:"";position:absolute;top:.2rem;bottom:.2rem;left:0;width:2px;border-radius:2px;background:var(--history-accent, var(--callout-accent, #DE4949));opacity:.5}.skim__item--span{grid-column:1/-1}.skim__kicker{display:block;font-size:.66rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--history-accent, var(--callout-accent, #DE4949));margin-bottom:.4rem}.skim__headline{display:block;font-size:1.04rem;font-weight:600;line-height:1.3;color:var(--callout-text, #ECF0F1);margin-bottom:.32rem}.skim__detail{display:block;font-size:.87rem;line-height:1.5;color:var(--callout-text-secondary, #BDC3C7)}.skim__detail code{font-size:.82em}.skim__key{color:var(--history-accent, var(--callout-accent, #DE4949));font-weight:600}.deep-dive-grid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.1rem;margin:1.75rem 0 2.75rem;padding:0;list-style:none}@media(max-width: 600px){.deep-dive-grid{grid-template-columns:1fr;gap:.9rem}}.deep-dive-card{position:relative;display:grid;grid-template-columns:auto 1fr;column-gap:1.1rem;align-items:start;padding:1.4rem 2.6rem 1.45rem 1.5rem;border-radius:10px;background:linear-gradient(135deg, #1a2332 0%, #1e2938 100%);border:1px solid rgba(255,255,255,.06);box-shadow:0 8px 30px rgba(0,0,0,.22);text-decoration:none;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.deep-dive-card::before{content:"";position:absolute;top:0;bottom:0;left:0;width:3px;background:var(--history-accent, var(--callout-accent, #DE4949));opacity:0;transition:opacity .18s ease}.deep-dive-card:hover,.deep-dive-card:focus-visible{transform:translateY(-3px);box-shadow:0 14px 38px rgba(0,0,0,.34);border-color:rgba(255,255,255,.14);text-decoration:none}.deep-dive-card:hover::before,.deep-dive-card:focus-visible::before{opacity:1}.deep-dive-card__icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:9px;background:rgba(255,255,255,.05);color:var(--history-accent, var(--callout-accent, #DE4949));flex-shrink:0}.deep-dive-card__icon svg{width:1.35rem;height:1.35rem;display:block}.deep-dive-card__body{display:flex;flex-direction:column;gap:.32rem;min-width:0}.deep-dive-card__title{font-size:1.02rem;font-weight:600;line-height:1.3;color:var(--callout-text, #ECF0F1)}.deep-dive-card__desc{font-size:.86rem;line-height:1.45;color:var(--callout-text-secondary, #BDC3C7)}.deep-dive-card__arrow{position:absolute;top:1.4rem;right:1.35rem;color:#95a5a6;font-size:1.05rem;line-height:1;transition:transform .18s ease,color .18s ease}.deep-dive-card:hover .deep-dive-card__arrow,.deep-dive-card:focus-visible .deep-dive-card__arrow{color:var(--history-accent, var(--callout-accent, #DE4949));transform:translateX(3px)}.connect-links{display:grid;grid-gap:20px;margin:1.75rem 0 2.5rem}@media only screen and (min-width: 768px){.connect-links{grid-template-columns:1fr 1fr}}.connect-link{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:18px;padding:24px 28px;border:1px solid #ecf0f1;border-radius:8px;color:#ecf0f1;text-decoration:none;transition:transform .18s ease,background .18s ease,border-color .18s ease}.connect-link:hover,.connect-link:focus-visible{transform:translateY(-2px);background:rgba(255,255,255,.03);text-decoration:none}.connect-link__icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #ecf0f1;border-radius:50%}.connect-link__icon svg{width:20px;height:20px}.connect-link__body{display:flex;flex-direction:column;gap:3px;min-width:0}.connect-link__label{color:#bdc3c7}.connect-link__text{font-weight:700}.connect-link--email{border-color:var(--history-accent, var(--callout-accent, #DE4949))}.connect-link--email .connect-link__icon{border-color:var(--history-accent, var(--callout-accent, #DE4949));color:var(--history-accent, var(--callout-accent, #DE4949))}.connect-link--email .connect-link__label{color:var(--history-accent, var(--callout-accent, #DE4949))}.related-project{position:relative;display:block;isolation:isolate;overflow:hidden;margin:1.75rem 0 1rem;padding:32px 34px;min-height:196px;border:1px solid #ecf0f1;border-left:3px solid var(--rp-accent, #DE4949);border-radius:10px;color:#ecf0f1;text-decoration:none;box-shadow:0 8px 22px rgba(0,0,0,.26);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.related-project:hover,.related-project:focus-visible{transform:translateY(-3px);text-decoration:none;box-shadow:0 12px 30px rgba(0,0,0,.35)}.related-project:hover .related-project__media,.related-project:focus-visible .related-project__media{opacity:.42;transform:scale(1.04)}.related-project:hover .related-project__cue,.related-project:focus-visible .related-project__cue{color:var(--rp-accent, #DE4949)}.related-project:hover .related-project__cue::after,.related-project:focus-visible .related-project__cue::after{transform:translateX(5px)}.related-project__media{position:absolute;inset:0;z-index:-1;background-image:var(--rp-image);background-size:cover;background-position:right center;opacity:.24;transition:opacity .25s ease,transform .45s ease;-webkit-mask-image:linear-gradient(to right, transparent 0%, rgba(0, 0, 0, 0.12) 38%, #000 100%);mask-image:linear-gradient(to right, transparent 0%, rgba(0, 0, 0, 0.12) 38%, #000 100%)}.related-project__content{display:flex;flex-direction:column;gap:8px;max-width:48ch}.related-project__eyebrow{color:var(--rp-accent, #DE4949)}.related-project__title{font-size:1.7rem;font-weight:700;line-height:1.1}.related-project__desc{color:#bdc3c7;max-width:44ch}.related-project__cue{display:inline-flex;align-items:center;gap:8px;margin-top:6px;font-weight:700;font-size:.95em;transition:color .2s ease}.related-project__cue::after{content:"→";transition:transform .2s ease}.related-project--secondary{min-height:140px;padding:24px 28px;border-left-color:#ecf0f1;box-shadow:none}.related-project--secondary .related-project__media{opacity:.12}.related-project--secondary .related-project__title{font-size:1.35rem}.related-project--secondary .related-project__eyebrow{color:#bdc3c7}.related-project--secondary:hover,.related-project--secondary:focus-visible{box-shadow:0 8px 22px rgba(0,0,0,.22)}.related-project--secondary:hover .related-project__cue,.related-project--secondary:focus-visible .related-project__cue{color:#ecf0f1}.choice-or{display:flex;align-items:center;gap:16px;margin:.75rem 0;color:#bdc3c7;font-style:italic;font-size:.92rem;letter-spacing:.03em}.choice-or::before,.choice-or::after{content:"";flex:1;height:1px;background:#ecf0f1}.choice-or span{flex:0 0 auto}.inline-connect{margin:1.75rem 0 1rem}.inline-connect__trigger{display:inline-grid;width:auto;font:inherit;text-align:left;cursor:pointer;-webkit-appearance:none;appearance:none;background:rgba(0,0,0,0)}.inline-connect__trigger[hidden]{display:none}.inline-connect__fallback{margin-top:14px;font-size:.9rem;color:#bdc3c7}.inline-connect__fallback a{color:var(--accent, #DE4949);text-decoration:underline}.inline-connect__mount{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .42s ease,opacity .42s ease}.inline-connect__mount.is-open{grid-template-rows:1fr;opacity:1}.contact__wrap--inline{overflow:hidden;min-height:0;margin-top:1.25rem;padding:30px 34px;background:#fff;border-radius:12px;box-shadow:0 10px 28px rgba(0,0,0,.28);color:#2c3e50}.contact__wrap--inline .title,.contact__wrap--inline label{color:#2c3e50}.contact__wrap--inline .subtitle,.contact__wrap--inline .page-post .post__content.highlight-first p:first-child,.page-post .post__content.highlight-first .contact__wrap--inline p:first-child,.contact__wrap--inline .page-post .post__content.highlight-first input[type=text]:first-child,.page-post .post__content.highlight-first .contact__wrap--inline input[type=text]:first-child,.contact__wrap--inline .page-post .post__content.highlight-first input[type=email]:first-child,.page-post .post__content.highlight-first .contact__wrap--inline input[type=email]:first-child,.contact__wrap--inline .page-post .post__content.highlight-first textarea:first-child,.page-post .post__content.highlight-first .contact__wrap--inline textarea:first-child,.contact__wrap--inline .page-project .post__content.highlight-first p:first-child,.page-project .post__content.highlight-first .contact__wrap--inline p:first-child,.contact__wrap--inline .page-project .post__content.highlight-first input[type=text]:first-child,.page-project .post__content.highlight-first .contact__wrap--inline input[type=text]:first-child,.contact__wrap--inline .page-project .post__content.highlight-first input[type=email]:first-child,.page-project .post__content.highlight-first .contact__wrap--inline input[type=email]:first-child,.contact__wrap--inline .page-project .post__content.highlight-first textarea:first-child,.page-project .post__content.highlight-first .contact__wrap--inline textarea:first-child,.contact__wrap--inline .subtitle--light{color:#34495e}.contact__wrap--inline input[type=text],.contact__wrap--inline input[type=email],.contact__wrap--inline textarea{color:#2c3e50;border-bottom-color:rgba(44,62,80,.25)}.contact__wrap--inline input[type=text]:focus,.contact__wrap--inline input[type=email]:focus,.contact__wrap--inline textarea:focus{border-bottom-color:#2c3e50}.contact__wrap--inline input[type=text]::placeholder,.contact__wrap--inline input[type=email]::placeholder,.contact__wrap--inline textarea::placeholder{color:rgba(44,62,80,.45)}.contact__wrap--inline .input-group:first-child{padding-top:0}@media(prefers-reduced-motion: reduce){.inline-connect__mount{transition:none}}.section-divider{display:flex;align-items:center;gap:16px;margin:2.5rem 0 1.25rem}.section-divider span{flex:0 0 auto;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase;color:#bdc3c7}.section-divider::before,.section-divider::after{content:"";flex:1;height:1px;background:#ecf0f1}.invert-band{background:#f5f7f8;color:#33424f;border-radius:14px;padding:3.25rem 3.5rem;margin:5.5rem 0}@media(max-width: 640px){.invert-band{padding:2.25rem 1.5rem;margin:4rem 0}}.invert-band h2,.invert-band h3,.invert-band h4{color:#1f2d3a}.invert-band p,.invert-band input[type=text],.invert-band input[type=email],.invert-band textarea,.invert-band li{color:#33424f}.invert-band strong,.invert-band b{color:#1f2d3a}.invert-band a{color:var(--accent, #DE4949)}.invert-band li::marker{color:var(--accent, #DE4949)}.post__content .invert-band>:first-child{margin-top:0}.post__content .invert-band>:last-child{margin-bottom:0}.phase-timeline{position:sticky;top:0;z-index:40;background:rgba(44,62,80,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--history-border, #ECF0F1);padding:.9rem 0 0;margin-bottom:2rem}.phase-timeline__inner{max-width:1200px;margin:0 auto;padding:0 30px 1.25rem;display:flex;align-items:flex-start;gap:.5rem}@media(max-width: 768px){.phase-timeline__inner{display:none}}.phase-timeline__home{flex:0 0 1.5rem;width:1.5rem;display:flex;align-items:flex-start;justify-content:center;padding-top:10px;text-decoration:none}.phase-timeline__home .phase-timeline__dot-mark{border-radius:2px;background:var(--history-accent, #DE4949);opacity:.5;transition:opacity .2s ease,transform .25s ease}.phase-timeline__home:hover .phase-timeline__dot-mark,.phase-timeline__home:focus-visible .phase-timeline__dot-mark{opacity:1;transform:scale(1.15)}.phase-timeline__home:focus-visible{outline:none}.phase-timeline__home:focus-visible .phase-timeline__dot-mark{box-shadow:0 0 0 6px rgba(222,73,73,.25)}.phase-timeline__track{position:relative;flex:1 1 auto;display:flex;align-items:flex-start;padding-top:10px;min-width:0}.phase-timeline__line,.phase-timeline__progress{position:absolute;top:14px;height:1px;pointer-events:none}.phase-timeline__line{left:4%;right:4%;background:var(--history-border, #ECF0F1)}.phase-timeline__progress{left:4%;background:var(--history-accent, #DE4949);opacity:.55;transition:width .4s ease;max-width:92%}.phase-timeline__dot{flex:1 1 0;min-width:0;position:relative;display:flex;flex-direction:column;align-items:center;text-decoration:none;padding:0 .2rem}.phase-timeline__dot:focus-visible{outline:none}.phase-timeline__dot:focus-visible .phase-timeline__dot-mark{box-shadow:0 0 0 6px rgba(222,73,73,.25)}.phase-timeline__dot-mark{position:relative;width:9px;height:9px;border-radius:50%;background:var(--history-border, #ECF0F1);transition:background .2s ease,box-shadow .25s ease,transform .25s ease;flex:0 0 auto}.phase-timeline__dot:hover .phase-timeline__dot-mark{background:var(--history-accent, #DE4949);transform:scale(1.15);box-shadow:0 0 0 6px rgba(222,73,73,.18)}.phase-timeline__dot.is-current .phase-timeline__dot-mark{background:var(--history-accent, #DE4949);box-shadow:0 0 0 5px rgba(222,73,73,.22)}.phase-timeline__dot.is-current:hover .phase-timeline__dot-mark{box-shadow:0 0 0 8px rgba(222,73,73,.22)}.phase-timeline__label{display:flex;flex-direction:column;align-items:center;margin-top:.5rem;line-height:1.15;text-align:center;max-width:100%}.phase-timeline__label-phase{font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--history-text-tertiary, #95A5A6);white-space:nowrap;transition:color .2s ease,opacity .2s ease}.phase-timeline__label-title{font-size:.7rem;font-weight:600;color:var(--history-text-secondary, #BDC3C7);white-space:nowrap;max-width:0;overflow:hidden;opacity:0;margin-top:0;transition:max-width .28s cubic-bezier(0.2, 0.7, 0.2, 1),opacity .2s ease .08s,margin-top .28s cubic-bezier(0.2, 0.7, 0.2, 1)}.phase-timeline__dot:hover .phase-timeline__label-title,.phase-timeline__dot:focus-visible .phase-timeline__label-title,.phase-timeline__dot.is-current .phase-timeline__label-title{max-width:14rem;opacity:1;margin-top:.2rem}.phase-timeline__dot.is-current .phase-timeline__label-phase{color:var(--history-accent, #DE4949)}.phase-timeline__dot.is-current .phase-timeline__label-title{color:var(--history-accent, #DE4949)}.phase-timeline__mobile{display:none;align-items:center;padding:.5rem .75rem .65rem;gap:.5rem}@media(max-width: 768px){.phase-timeline__mobile{display:flex}}.phase-timeline__mobile-nav{flex:1;display:flex;align-items:center;min-width:0;gap:.25rem}.phase-timeline__mobile-step{flex:0 0 auto;display:flex;align-items:center;gap:.2rem;text-decoration:none;color:var(--history-text-tertiary, #95A5A6);font-size:.7rem;max-width:28%;min-width:0;transition:color .2s}.phase-timeline__mobile-step:hover,.phase-timeline__mobile-step:focus-visible{color:var(--history-accent, #DE4949);outline:none}.phase-timeline__mobile-step--empty{pointer-events:none;width:28%}.phase-timeline__mobile-step-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}@media(max-width: 420px){.phase-timeline__mobile-step-label{display:none}}.phase-timeline__mobile-arrow{flex:0 0 auto;font-size:.8rem}.phase-timeline__mobile-current{flex:1;display:flex;flex-direction:column;align-items:center;min-width:0;text-align:center}.phase-timeline__mobile-current-num{font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--history-accent, #DE4949)}.phase-timeline__mobile-current-title{font-size:.78rem;font-weight:600;color:var(--history-text-primary, #ECF0F1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.phase-timeline__hamburger{flex:0 0 auto;background:none;border:1px solid var(--history-border, #ECF0F1);border-radius:4px;cursor:pointer;padding:.2rem .45rem;color:var(--history-text-tertiary, #95A5A6);font-size:1rem;line-height:1;transition:color .2s,border-color .2s,background .2s}.phase-timeline__hamburger:hover,.phase-timeline__hamburger:focus-visible{color:var(--history-accent, #DE4949);border-color:var(--history-accent, #DE4949);background:rgba(222,73,73,.08);outline:none}.phase-timeline__bars{display:flex;flex-direction:column}.phase-timeline__bar{height:2px;width:0%}.phase-timeline__bar--phase{background:var(--history-accent, #DE4949);opacity:.3;display:none}@media(max-width: 768px){.phase-timeline__bar--phase{display:block}}.phase-timeline__bar--article{background:var(--history-accent, #DE4949);transition:width .1s linear}.phase-modal{display:none;position:fixed;inset:0;z-index:200}.phase-modal[aria-hidden=false]{display:block}.phase-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}.phase-modal__panel{position:absolute;top:0;left:0;right:0;max-height:80vh;overflow-y:auto;background:#2c3e50;border-bottom:1px solid var(--history-border, #ECF0F1);border-radius:0 0 12px 12px}.phase-modal__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem .75rem;border-bottom:1px solid var(--history-border, #ECF0F1)}.phase-modal__home{font-size:.85rem;color:var(--history-text-secondary, #BDC3C7);text-decoration:none;transition:color .2s}.phase-modal__home:hover{color:var(--history-accent, #DE4949)}.phase-modal__close{background:none;border:none;cursor:pointer;color:var(--history-text-tertiary, #95A5A6);font-size:1rem;padding:.25rem;line-height:1;transition:color .2s}.phase-modal__close:hover,.phase-modal__close:focus-visible{color:var(--history-accent, #DE4949);outline:none}.phase-modal__nav{display:flex;flex-direction:column;padding:.5rem 0 1rem}.phase-modal__item{display:flex;align-items:center;gap:1rem;padding:.7rem 1.25rem;text-decoration:none;color:var(--history-text-secondary, #BDC3C7);transition:background .15s,color .15s}.phase-modal__item:hover,.phase-modal__item:focus-visible{background:rgba(222,73,73,.07);color:var(--history-text-primary, #ECF0F1);outline:none}.phase-modal__item.is-current{color:var(--history-accent, #DE4949)}.phase-modal__item-num{flex:0 0 1.5rem;font-size:.7rem;font-weight:700;letter-spacing:.08em;color:var(--history-text-tertiary, #95A5A6);text-align:right}.phase-modal__item.is-current .phase-modal__item-num{color:var(--history-accent, #DE4949)}.phase-modal__item-title{font-size:.9rem}body.phase-modal--open{overflow:hidden}.ai-ctx-demo-wrap{margin-top:2rem;margin-bottom:2rem}@media only screen and (min-width: 768px){.ai-ctx-demo-wrap--with-screenshot{display:flex;align-items:stretch;gap:1.5rem}}.ai-ctx-demo-wrap--with-screenshot .ai-ctx-demo{max-width:none;margin-left:0;margin-right:0}@media only screen and (min-width: 768px){.ai-ctx-demo-wrap--with-screenshot .ai-ctx-demo{flex:0 0 38rem}}.ai-ctx-demo-screenshot{border-radius:8px;overflow:hidden;margin-top:1.5rem}@media only screen and (min-width: 768px){.ai-ctx-demo-screenshot{margin-top:0;flex:1;min-width:0}}.ai-ctx-demo-screenshot img{display:block;width:100%;height:100%;object-fit:cover;object-position:left center;border-radius:8px}.ai-ctx-demo{position:relative;height:24rem;overflow:hidden;border-radius:8px;max-width:38rem;margin-left:auto;margin-right:auto;will-change:transform;contain:layout style paint}.ai-ctx-demo *,.ai-ctx-demo *::before,.ai-ctx-demo *::after{box-sizing:border-box}.ai-ctx-demo__bg{position:absolute;inset:1rem;background:radial-gradient(circle at top, rgb(44, 62, 80), rgb(36, 52, 68) 40%, rgb(30, 44, 58) 100%)}.ai-ctx-demo__bg-overlay{position:absolute;inset:0;background:linear-gradient(135deg, rgba(255, 255, 255, 0.04), transparent 42%, rgba(52, 152, 219, 0.04) 100%)}.ai-ctx-demo__shimmer{position:absolute;left:2rem;right:2rem;top:1.5rem;height:1px;background:linear-gradient(to right, transparent, rgba(255, 255, 255, 0.1), transparent)}.ai-ctx-demo__bg-glow{position:absolute;inset:0;opacity:.2;transition:opacity .7s,background .7s;background:radial-gradient(circle at center, rgba(149, 165, 166, 0.08) 0%, rgba(149, 165, 166, 0.04) 25%, transparent 60%)}[data-state=visible] .ai-ctx-demo__bg-glow{opacity:.7;background:radial-gradient(circle at center, rgba(222, 73, 73, 0.12) 0%, rgba(222, 73, 73, 0.05) 25%, transparent 60%)}[data-state=pinned] .ai-ctx-demo__bg-glow{opacity:.7;background:radial-gradient(circle at center, rgba(52, 152, 219, 0.12) 0%, rgba(52, 152, 219, 0.05) 25%, transparent 60%)}.ai-ctx-demo__fade-bottom{position:absolute;inset:auto 0 0;height:7rem;background:linear-gradient(to top, rgba(44, 62, 80, 0.5), transparent);pointer-events:none;z-index:0}.ai-ctx-demo__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:10}.ai-ctx-demo__control{position:absolute;left:2rem;top:50%;transform:translateY(-50%);z-index:10}.ai-ctx-demo__control-glow{position:absolute;left:1.25rem;top:1.25rem;width:3rem;height:3rem;border-radius:1rem;pointer-events:none}.ai-ctx-demo__control-glow[data-animation=outward][data-state=visible]{background:radial-gradient(circle, rgba(222, 73, 73, 0.45) 0%, rgba(222, 73, 73, 0) 72%);box-shadow:0 0 28px rgba(222,73,73,.38);animation:ai-ctx-ping .85s cubic-bezier(0, 0, 0.2, 1)}.ai-ctx-demo__control-glow[data-animation=outward][data-state=pinned]{background:radial-gradient(circle, rgba(52, 152, 219, 0.45) 0%, rgba(52, 152, 219, 0) 72%);box-shadow:0 0 28px rgba(52,152,219,.38);animation:ai-ctx-ping .85s cubic-bezier(0, 0, 0.2, 1)}.ai-ctx-demo__control-glow[data-animation=inward]{background:radial-gradient(circle, rgba(149, 165, 166, 0.32) 0%, rgba(149, 165, 166, 0) 72%);box-shadow:0 0 24px rgba(149,165,166,.3);animation:ai-ctx-ping-reverse .55s cubic-bezier(0, 0, 0.2, 1)}.ai-ctx-demo__control-glow[data-animation=double][data-state=pinned]{background:radial-gradient(circle, rgba(52, 152, 219, 0.5) 0%, rgba(52, 152, 219, 0) 70%);box-shadow:0 0 32px rgba(52,152,219,.45);animation:ai-ctx-ping 1.15s cubic-bezier(0, 0, 0.2, 1)}.ai-ctx-demo__control-glow[data-animation=double][data-state=pinned]::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle, rgba(52, 152, 219, 0.42) 0%, rgba(52, 152, 219, 0) 70%);box-shadow:0 0 26px rgba(52,152,219,.35);animation:ai-ctx-ping 1.15s cubic-bezier(0, 0, 0.2, 1) .28s}.ai-ctx-demo__control-inner{position:relative;display:flex;align-items:center;gap:.75rem;width:14rem;overflow:hidden;border-radius:1.4rem;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.06);padding:1rem;box-shadow:0 22px 60px rgba(0,0,0,.3)}.ai-ctx-demo__control-shine{position:absolute;inset:0;border-radius:1.4rem;opacity:.5;background:linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.02) 42%, rgba(52, 152, 219, 0.04) 100%);padding:1px;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask-composite:xor;pointer-events:none}.ai-ctx-demo__icon-wrap{position:relative;z-index:10;display:flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;flex-shrink:0;border-radius:1.1rem;border:1px solid;transition:background-color .5s,border-color .5s;border-color:rgba(149,165,166,.3);background-color:rgba(149,165,166,.1)}.ai-ctx-demo__icon-wrap[data-state=visible]{border-color:rgba(222,73,73,.3);background-color:rgba(222,73,73,.1)}.ai-ctx-demo__icon-wrap[data-state=pinned]{border-color:rgba(52,152,219,.3);background-color:rgba(52,152,219,.1)}.ai-ctx-demo__icon{width:2.25rem;height:2.25rem;transition:color .5s,opacity .3s;position:absolute;opacity:0}.ai-ctx-demo__icon--shield{color:#95a5a6}[data-state=private]>.ai-ctx-demo__icon--shield{opacity:1}.ai-ctx-demo__icon--circle{color:#de4949}[data-state=visible]>.ai-ctx-demo__icon--circle{opacity:1}.ai-ctx-demo__icon--pin{color:#5dade2}[data-state=pinned]>.ai-ctx-demo__icon--pin{opacity:1}.ai-ctx-demo__control-text{position:relative;z-index:10;min-width:0}.ai-ctx-demo__label{font-size:.875rem;font-weight:600;letter-spacing:-0.01em;transition:color .5s;margin:0;line-height:1.3}[data-state=private] .ai-ctx-demo__label{color:#bdc3c7}[data-state=visible] .ai-ctx-demo__label{color:#e74c3c}[data-state=pinned] .ai-ctx-demo__label{color:#5dade2}.ai-ctx-demo__helper{font-size:.75rem;margin:.25rem 0 0;transition:color .5s;line-height:1.3}[data-state=private] .ai-ctx-demo__helper{color:#95a5a6}[data-state=visible] .ai-ctx-demo__helper{color:rgba(222,73,73,.7)}[data-state=pinned] .ai-ctx-demo__helper{color:rgba(93,173,226,.7)}.ai-ctx-demo__note{position:absolute;right:auto;left:55%;z-index:10;width:clamp(9.5rem,34%,12.5rem);min-width:0}@media only screen and (min-width: 768px){.ai-ctx-demo__note{width:clamp(10.5rem,36%,13.5rem)}}.ai-ctx-demo__note:nth-child(7){top:5rem}.ai-ctx-demo__note:nth-child(8){top:10.5rem}.ai-ctx-demo__note:nth-child(9){top:16rem}.ai-ctx-demo__note-pulse{position:absolute;inset:0;border-radius:1rem;display:none;pointer-events:none}[data-active=true][data-demo-state=visible] .ai-ctx-demo__note-pulse{animation:ai-ctx-arrival-red .9s cubic-bezier(0.22, 1, 0.36, 1);box-shadow:0 0 0 0 rgba(222,73,73,0),0 0 0 0 rgba(222,73,73,0)}[data-active=true][data-demo-state=pinned] .ai-ctx-demo__note-pulse{animation:ai-ctx-arrival-blue .9s cubic-bezier(0.22, 1, 0.36, 1);box-shadow:0 0 0 0 rgba(52,152,219,0),0 0 0 0 rgba(52,152,219,0)}.ai-ctx-demo__note-content{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;border-radius:1rem;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.05);padding:.5rem .75rem;box-shadow:0 18px 45px rgba(0,0,0,.2);transition:all .7s ease-out;transform:scale(0.95);opacity:.5}[data-active=true] .ai-ctx-demo__note-content{border-color:rgba(222,73,73,.3);box-shadow:0 20px 50px rgba(222,73,73,.1);transform:scale(1.03);opacity:1}[data-active=false][data-demo-state=visible] .ai-ctx-demo__note-content,[data-active=false][data-demo-state=pinned] .ai-ctx-demo__note-content{transform:scale(1);opacity:.7}.ai-ctx-demo__note-title{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;transition:color .5s;margin:0;line-height:1.3;color:#95a5a6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-active=true] .ai-ctx-demo__note-title{color:#ecf0f1}.ai-ctx-demo__note-detail{font-size:.75rem;margin:.25rem 0 0;transition:color .5s;line-height:1.3;color:#bdc3c7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-active=true] .ai-ctx-demo__note-detail{color:#ecf0f1}.ai-ctx-demo__note-dot{display:block;margin-top:.125rem;width:.625rem;height:.625rem;flex-shrink:0;border-radius:50%;transition:all .5s;background-color:rgba(149,165,166,.4)}[data-active=true] .ai-ctx-demo__note-dot{background-color:#de4949;box-shadow:0 0 14px rgba(222,73,73,.45)}@keyframes ai-ctx-ping{0%{transform:scale(1);opacity:.95}100%{transform:scale(3.4);opacity:0}}@keyframes ai-ctx-ping-reverse{0%{transform:scale(1.65);opacity:0}55%{opacity:.65}100%{transform:scale(1);opacity:0}}@keyframes ai-ctx-arrival-red{0%{opacity:0;box-shadow:0 0 0 0 rgba(222,73,73,0),0 0 0 0 rgba(222,73,73,0)}35%{opacity:1;box-shadow:0 0 0 1px rgba(222,73,73,.35),0 0 24px 2px rgba(222,73,73,.18)}72%{opacity:.45;box-shadow:0 0 0 1px rgba(222,73,73,.18),0 0 14px 1px rgba(222,73,73,.1)}100%{opacity:0;box-shadow:0 0 0 1px rgba(222,73,73,0),0 0 0 0 rgba(222,73,73,0)}}@keyframes ai-ctx-arrival-blue{0%{opacity:0;box-shadow:0 0 0 0 rgba(52,152,219,0),0 0 0 0 rgba(52,152,219,0)}35%{opacity:1;box-shadow:0 0 0 1px rgba(52,152,219,.35),0 0 24px 2px rgba(52,152,219,.18)}72%{opacity:.45;box-shadow:0 0 0 1px rgba(52,152,219,.18),0 0 14px 1px rgba(52,152,219,.1)}100%{opacity:0;box-shadow:0 0 0 1px rgba(52,152,219,0),0 0 0 0 rgba(52,152,219,0)}}@media(prefers-reduced-motion: reduce){.ai-ctx-demo,.ai-ctx-demo *{animation:none !important}}.case-study-toc{display:none}.case-study-layout{width:100%}@media(min-width: 1500px){.case-study-layout{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1200px) minmax(0, 1fr);align-items:start}.case-study-layout>.post__header,.case-study-layout>.post-full{grid-column:2;width:100%}.case-study-toc{display:block;grid-column:1;grid-row:1/span 2;justify-self:end;position:sticky;top:24px;width:180px;margin:56px 20px 0 0;max-height:calc(100vh - 48px);overflow-y:auto;z-index:50;padding-right:8px;padding-bottom:40px;scrollbar-width:thin;scrollbar-color:#fff rgba(0,0,0,0)}.case-study-toc::-webkit-scrollbar{width:4px}.case-study-toc::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.case-study-toc::-webkit-scrollbar-thumb{background:#fff;border-radius:2px}.case-study-toc::-webkit-scrollbar-thumb:hover{background:#fff}.case-study-toc__title{font-family:Rubik,sans-serif;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#bdc3c7;margin:0 0 14px 14px}.case-study-toc__list{list-style:none;margin:0;padding:0;position:relative}.case-study-toc__indicator{position:absolute;left:0;top:0;width:2px;height:var(--h, 28px);background:var(--history-accent, var(--callout-accent, #DE4949));border-radius:1px;transform:translate3d(0, var(--y, 0), 0);opacity:0;pointer-events:none;-webkit-transition:transform .45s cubic-bezier(0.2, 0.8, 0.2, 1),height .25s ease,opacity .3s ease;-moz-transition:transform .45s cubic-bezier(0.2, 0.8, 0.2, 1),height .25s ease,opacity .3s ease;-ms-transition:transform .45s cubic-bezier(0.2, 0.8, 0.2, 1),height .25s ease,opacity .3s ease;-o-transition:transform .45s cubic-bezier(0.2, 0.8, 0.2, 1),height .25s ease,opacity .3s ease;transition:transform .45s cubic-bezier(0.2, 0.8, 0.2, 1),height .25s ease,opacity .3s ease}.case-study-toc.is-ready .case-study-toc__indicator{opacity:1}.case-study-toc__item{margin:0}.case-study-toc__link{display:block;padding:6px 0 6px 14px;font-size:13px;line-height:1.35;color:#bdc3c7;text-decoration:none;-webkit-transition:color .2s ease;-moz-transition:color .2s ease;-ms-transition:color .2s ease;-o-transition:color .2s ease;transition:color .2s ease}.case-study-toc__link:hover{color:var(--history-accent, var(--callout-accent, #DE4949))}.case-study-toc__link.is-active{color:var(--history-accent, var(--callout-accent, #DE4949));font-weight:600}.case-study-toc__sublist{list-style:none;margin:0;padding:0;display:none}.case-study-toc__item--h2.is-expanded>.case-study-toc__sublist{display:block}.case-study-toc__item--h2.is-expanded>.case-study-toc__sublist>.case-study-toc__item--h3{animation:tocItemReveal .3s ease both}.case-study-toc__item--h2.is-expanded>.case-study-toc__sublist>.case-study-toc__item--h3:nth-child(1){animation-delay:0s}.case-study-toc__item--h2.is-expanded>.case-study-toc__sublist>.case-study-toc__item--h3:nth-child(2){animation-delay:0.04s}.case-study-toc__item--h2.is-expanded>.case-study-toc__sublist>.case-study-toc__item--h3:nth-child(3){animation-delay:0.08s}.case-study-toc__item--h2.is-expanded>.case-study-toc__sublist>.case-study-toc__item--h3:nth-child(4){animation-delay:0.12s}.case-study-toc__item--h2.is-expanded>.case-study-toc__sublist>.case-study-toc__item--h3:nth-child(5){animation-delay:0.16s}.case-study-toc__item--h2.is-expanded>.case-study-toc__sublist>.case-study-toc__item--h3:nth-child(6){animation-delay:0.2s}.case-study-toc__item--h2.is-expanded>.case-study-toc__sublist>.case-study-toc__item--h3:nth-child(7){animation-delay:0.24s}.case-study-toc__item--h2.is-expanded>.case-study-toc__sublist>.case-study-toc__item--h3:nth-child(8){animation-delay:0.28s}@keyframes tocItemReveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.case-study-toc__item--h3 .case-study-toc__link{padding-left:28px;font-size:12px;color:#d3d7da}}.listing{margin-bottom:120px;overflow:hidden}.project__preview{position:relative;width:100%}.project__preview:not(:last-child){margin-bottom:56px}.project__preview .project__title{margin-bottom:32px}.project__preview .project__title a:hover{color:#de4949}.project__preview .project__images{position:relative;margin-bottom:50px}.project__preview .project__images .owl-stage-outer{overflow:visible}.project__preview .project__images .project__image{border-radius:8px}.project__preview .owl-dots{position:absolute;bottom:-50px;margin:8px 0 16px 0}.project__preview .owl-dots .owl-dot{width:24px;height:24px;margin-right:8px;cursor:pointer;background-color:#2c3e50;-webkit-transition:all .4s cubic-bezier(0.65, 0.05, 0.36, 1) 0s;-moz-transition:all .4s cubic-bezier(0.65, 0.05, 0.36, 1) 0s;-ms-transition:all .4s cubic-bezier(0.65, 0.05, 0.36, 1) 0s;-o-transition:all .4s cubic-bezier(0.65, 0.05, 0.36, 1) 0s;transition:all .4s cubic-bezier(0.65, 0.05, 0.36, 1) 0s;outline:none}.project__preview .owl-dots .owl-dot:after{content:"";display:block;width:100%;height:4px;background-color:#ecf0f1;border-radius:8px;-webkit-transition:all .4s cubic-bezier(0.65, 0.05, 0.36, 1) 0s;-moz-transition:all .4s cubic-bezier(0.65, 0.05, 0.36, 1) 0s;-ms-transition:all .4s cubic-bezier(0.65, 0.05, 0.36, 1) 0s;-o-transition:all .4s cubic-bezier(0.65, 0.05, 0.36, 1) 0s;transition:all .4s cubic-bezier(0.65, 0.05, 0.36, 1) 0s}.project__preview .owl-dots .owl-dot.active{width:48px}.project__preview .owl-dots .owl-dot.active:after{background:#de4949}@media only screen and (min-width: 1024px){.project__preview .project__images:hover .owl-nav{opacity:1}}@media only screen and (min-width: 1024px){.project__preview .owl-nav{display:block;opacity:0;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-ms-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}}.project__preview .owl-nav button{position:absolute;top:0;bottom:0;border:0;background:0;width:50px}.project__preview .owl-nav button.owl-prev{left:0}.project__preview .owl-nav button.owl-next{right:0}@media only screen and (min-width: 1320px){.project__preview .owl-nav button{width:calc((100vw - 1140px)/2)}.project__preview .owl-nav button.owl-prev{left:auto;right:100%}.project__preview .owl-nav button.owl-prev svg{margin-left:-10px}.project__preview .owl-nav button.owl-next{right:auto;left:100%}.project__preview .owl-nav button.owl-next svg{margin-left:10px}}.project__preview .owl-nav button svg{position:absolute;top:50%;left:50%;-moz-transform:translate(-50%, -50%);-o-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:30px;height:48px;fill:#2c3e50;opacity:.5;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-ms-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.project__preview .owl-nav button:focus{outline:none}.project__preview .owl-nav button.disabled svg{opacity:0 !important}.project__preview .owl-nav button:hover svg{opacity:1}.project__preview .project__content{padding-bottom:40px;border-bottom:2px solid #ecf0f1;grid-gap:0}.project__preview .project__subtitle,.project__preview .project__description{max-width:456px}.project__preview .project__subtitle{margin-bottom:16px}.project__preview .project__link{display:block;margin-top:24px;color:#de4949}.project__preview .pagination{margin:64px 0;text-align:center}.project__preview .pagination .pagination__prev{margin-right:32px}@media only screen and (min-width: 768px){.project__preview:not(:last-child){margin-bottom:120px}.project__preview .owl-dots{margin:8px 0 16px 0}.project__preview .project__image{width:100%}.project__preview .project__title{margin-bottom:36px}.project__preview .project__content{grid-template-columns:1fr 1fr;grid-gap:30px;padding-bottom:72px}}.hero{position:relative;padding:40px 0 110px}.hero .wrap{grid-gap:0}.hero .title{margin-bottom:24px;max-width:380px}.hero .title .subtitle,.hero .title .subtitle--light,.hero .title .page-post .post__content.highlight-first p:first-child,.page-post .post__content.highlight-first .hero .title p:first-child,.hero .title .page-post .post__content.highlight-first input[type=text]:first-child,.page-post .post__content.highlight-first .hero .title input[type=text]:first-child,.hero .title .page-post .post__content.highlight-first input[type=email]:first-child,.page-post .post__content.highlight-first .hero .title input[type=email]:first-child,.hero .title .page-post .post__content.highlight-first textarea:first-child,.page-post .post__content.highlight-first .hero .title textarea:first-child,.hero .title .page-project .post__content.highlight-first p:first-child,.page-project .post__content.highlight-first .hero .title p:first-child,.hero .title .page-project .post__content.highlight-first input[type=text]:first-child,.page-project .post__content.highlight-first .hero .title input[type=text]:first-child,.hero .title .page-project .post__content.highlight-first input[type=email]:first-child,.page-project .post__content.highlight-first .hero .title input[type=email]:first-child,.hero .title .page-project .post__content.highlight-first textarea:first-child,.page-project .post__content.highlight-first .hero .title textarea:first-child{margin-bottom:8px}.hero .hero__name{margin-bottom:4px}.hero .hero__name .hero__name-text{display:block;margin-bottom:10px}.hero .hero__roles{display:block;color:#bdc3c7;margin-bottom:4px}.hero .hero__roles .sep{color:#de4949;font-weight:700;padding:0 8px}.hero .intro{position:relative;max-width:340px}.hero .hero__cta{display:inline-block;justify-self:start;margin-top:32px}@media only screen and (min-width: 768px){.hero{padding:40px 0 120px}.hero .wrap{grid-template-columns:1fr 1fr}.hero .title{margin-bottom:0;max-width:none}.hero .intro{align-self:end;margin-bottom:-80px;max-width:458px}.hero .hero__cta{display:none}}.hero__background{display:block;position:absolute;top:0px;left:50%;transform:translateX(-50%);z-index:-1;max-width:190%;display:none}@media only screen and (min-width: 768px){.hero__background{display:block}}.project__technologies{margin-top:10px;display:flex;flex-wrap:wrap;gap:5px;margin-bottom:28px}.project__technologies .tech-tag{background:#4c60e6;color:#fff;padding:5px 10px;border-radius:5px;font-size:14px}.project__technologies .tech-tag--extra{display:none}.project__technologies .tech-toggle__input:checked~.tech-tag--extra{display:inline}.project__technologies .tech-toggle{background:rgba(0,0,0,0);color:#4c60e6;border:1px solid #4c60e6;padding:5px 10px;border-radius:5px;font-size:14px;cursor:pointer;transition:all .3s ease-in-out}.project__technologies .tech-toggle:hover{background:#4c60e6;color:#fff}.project__technologies .tech-toggle__less{display:none}.project__technologies .tech-toggle__input:checked~.tech-toggle .tech-toggle__more{display:none}.project__technologies .tech-toggle__input:checked~.tech-toggle .tech-toggle__less{display:inline}.hero{isolation:isolate;contain:layout paint}.hero .title{position:relative;z-index:2;transition:opacity 260ms ease}.hero .title::before{content:"";position:absolute;inset:-32px -48px;background:radial-gradient(ellipse 75% 85% at center, rgba(44, 62, 80, 0.85) 30%, rgba(44, 62, 80, 0.6) 60%, rgba(44, 62, 80, 0) 100%);z-index:0;pointer-events:none}.hero .title>*{position:relative;z-index:1}.hero__contrib{position:relative;display:inline-block;cursor:pointer;color:rgba(255,255,255,.78);outline:none;user-select:none;z-index:2}.hero__contrib::before{content:"";position:absolute;inset:-24px -36px;background:radial-gradient(ellipse 75% 85% at center, rgba(44, 62, 80, 0.85) 30%, rgba(44, 62, 80, 0.6) 60%, rgba(44, 62, 80, 0) 100%);z-index:0;pointer-events:none}.hero__contrib-badge{position:relative;z-index:1;display:inline-flex;flex-direction:column;align-items:flex-start;gap:6px;line-height:1;margin:0}.hero__contrib-num{font-size:56px;font-weight:700;color:#de4949;letter-spacing:-0.02em;line-height:.95}.hero__contrib-label{font-size:13px;text-transform:uppercase;letter-spacing:.12em;opacity:.85}.hero__contrib-substat{margin-top:10px;font-size:11px;text-transform:uppercase;letter-spacing:.16em;opacity:.6}.hero__contrib-hint{margin-top:14px;font-size:10px;text-transform:uppercase;letter-spacing:.22em;opacity:.45;transition:opacity 220ms ease}.hero__creds{position:relative;z-index:2;list-style:none;margin:18px 0 0;padding:0;font-size:11px;line-height:1.55;color:rgba(255,255,255,.5);letter-spacing:.01em;transition:opacity 260ms ease}.hero__creds li+li{margin-top:2px}.hero.is-revealing .hero__creds,.hero.is-collapsing .hero__creds{opacity:0}.hero__contrib:hover .hero__contrib-hint,.hero__contrib:focus-visible .hero__contrib-hint{opacity:0}.hero__contrib-graph{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden;display:flex;align-items:center;justify-content:flex-end;transform:translateZ(0);will-change:transform}.contrib__svg{display:block;height:86%;width:auto;max-width:none;transform:translateZ(0)}.contrib__cell{opacity:0;transform-box:fill-box;transform-origin:center;transition:opacity 480ms ease,fill-opacity 520ms ease,filter 520ms ease;transition-delay:0ms}@keyframes contrib-cell-pop{0%{opacity:0;transform:scale(0.35)}55%{opacity:1;transform:scale(1.25)}100%{opacity:1;transform:scale(1)}}@keyframes contrib-cell-collapse{0%{opacity:1;transform:scale(1)}45%{opacity:1;transform:scale(1.15)}100%{opacity:0;transform:scale(0.4)}}.contrib__cell--s0{fill:rgba(255,255,255,.1)}.contrib__cell--s1{fill:rgba(222,73,73,.55)}.contrib__cell--s2{fill:rgba(222,73,73,.72)}.contrib__cell--s3{fill:rgba(222,73,73,.88)}.contrib__cell--s4{fill:#de4949}.hero:not(.is-revealing) .contrib__cell.is-pulsing{animation:contrib-pulse 1700ms ease}@keyframes contrib-pulse{0%{opacity:0}35%{opacity:1}65%{opacity:1}100%{opacity:0}}.hero.is-revealing .title{opacity:0}.hero.is-revealing .hero__contrib-hint{opacity:0}.hero.is-revealing .contrib__cell{animation:contrib-cell-pop 260ms cubic-bezier(0.34, 1.56, 0.64, 1) both;animation-delay:var(--delay, 0ms)}.hero.is-collapsing .contrib__cell{animation:contrib-cell-collapse 280ms cubic-bezier(0.55, 0, 0.7, 0.4) both;animation-delay:var(--delay, 0ms)}.hero:not(.is-revealing) .contrib__cell{transition-delay:0ms}@media(hover: none),(max-width: 640px){.hero__contrib-graph{display:none}.hero__contrib-hint{display:none}}.hero.is-projecting .contrib__cell{transition:fill-opacity 280ms ease,filter 280ms ease}.hero.is-projecting .contrib__cell:not(.is-project-match){fill-opacity:.22}.hero.is-projecting .contrib__cell.is-project-match{filter:drop-shadow(0 2px 3px rgba(0, 0, 0, 0.55))}.hero__contrib-prior{position:absolute;bottom:6%;left:6%;z-index:2;display:flex;align-items:center;gap:10px;pointer-events:none;opacity:0;transform:translateX(8px);transition:opacity 320ms ease,transform 320ms ease;transition-delay:0ms;color:rgba(255,255,255,.6);font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:600;white-space:nowrap}.hero__contrib-prior-arrow{font-size:18px;line-height:1;color:rgba(222,73,73,.9);letter-spacing:0}.hero__contrib-prior-num{color:rgba(255,255,255,.9);font-weight:700}.hero.is-projecting-prior .hero__contrib-prior{opacity:1;transform:translateX(0);transition-delay:220ms}.hero.is-collapsing .hero__contrib-prior{opacity:0;transform:translateX(8px);transition-delay:0ms}@media(prefers-reduced-motion: reduce){.contrib__cell{transition:none}.hero:not(.is-revealing) .contrib__cell.is-pulsing{animation:none}.hero.is-revealing .contrib__cell{animation:none;opacity:1}.hero.is-collapsing .contrib__cell{animation:none;opacity:0}.hero.is-projecting .contrib__cell{transition:none}}.logo-strip{position:relative;padding:30px 0 56px;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:120px}.logo-strip__label{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;text-align:center;color:#95a5a6;opacity:.55;margin-bottom:20px;transition:opacity .4s ease}.logo-strip__list{list-style:none;padding:0;margin:0;display:flex;align-items:stretch;width:100%;height:160px;border-radius:12px;overflow:hidden}.logo-strip__item{position:relative;flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;cursor:pointer;background-color:rgba(0,0,0,0);border-right:1px solid rgba(255,255,255,.06);transition:flex-grow .55s cubic-bezier(0.3, 0.8, 0.25, 1),background-color .4s ease}.logo-strip__item:last-child{border-right:none}.logo-strip__glyph{position:absolute;top:50%;left:50%;display:flex;align-items:center;justify-content:center;transform:translate(-50%, -50%);transition:left .55s cubic-bezier(0.3, 0.8, 0.25, 1),transform .5s cubic-bezier(0.3, 0.8, 0.25, 1),opacity .4s ease;will-change:transform,left;pointer-events:none}.logo-strip__img{display:block;width:auto}.logo-strip__img--mark{height:72px;max-width:none}.logo-strip__img--wordmark{max-height:38px;max-width:150px;height:auto}.logo-strip__wordmark{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:600;font-size:22px;letter-spacing:-0.01em;color:#95a5a6;white-space:nowrap}.logo-strip__details{position:absolute;top:0;right:0;bottom:0;width:66%;display:flex;align-items:center;gap:18px;padding:18px 22px 18px 0;opacity:0;transform:translateX(12px);transition:opacity .35s ease 0s,transform .5s cubic-bezier(0.3, 0.8, 0.25, 1) 0s;pointer-events:none}.logo-strip__preview{flex:0 0 140px;align-self:stretch;border-radius:8px;overflow:hidden;background:linear-gradient(135deg, rgba(76, 96, 230, 0.35), rgba(76, 96, 230, 0.08)),#1a1d26;border:1px solid rgba(255,255,255,.06)}.logo-strip__preview-img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:top center}.logo-strip__content{flex:1;display:flex;flex-direction:column;justify-content:center;min-width:0}.logo-strip__title{font-size:18px;font-weight:700;color:#95a5a6;margin:0 0 4px;letter-spacing:-0.01em}.logo-strip__tagline{font-size:13px;color:#bdc3c7;margin:0 0 10px;line-height:1.45}.logo-strip__actions{display:flex;gap:16px;flex-wrap:wrap}.logo-strip__close{display:none;position:absolute;top:14px;right:14px;z-index:2;width:36px;height:36px;padding:0;border:0;background:rgba(255,255,255,.06);border-radius:50%;color:#95a5a6;font-size:22px;line-height:1;cursor:pointer;transition:background .2s ease}.logo-strip__close:hover,.logo-strip__close:focus-visible{background:rgba(255,255,255,.12)}.logo-strip__close span{display:block;transform:translateY(-1px)}.logo-strip__link{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#de4949;text-decoration:none;white-space:nowrap;transition:color .2s ease}.logo-strip__link:hover{color:#de4949}.logo-strip__link span{display:inline-block;margin-left:4px;transition:transform .2s ease}.logo-strip__link:hover span{transform:translateX(2px)}@media(hover: hover)and (pointer: fine){.logo-strip__list.is-active .logo-strip__item:not(.is-active) .logo-strip__glyph{transform:translate(-50%, -50%) scale(0.78);opacity:.55}.logo-strip__list.is-active .logo-strip__item:not(.is-active) .logo-strip__img--wordmark{transform:scale(0.82);transform-origin:center;transition:transform .4s cubic-bezier(0.3, 0.8, 0.25, 1)}.logo-strip__list.is-active .logo-strip__item.is-active{flex-grow:3.5}.logo-strip__list.is-active .logo-strip__item.is-active .logo-strip__glyph{left:17%;transform:translate(-50%, -50%) scale(1)}.logo-strip__list.is-active .logo-strip__item.is-active .logo-strip__img--wordmark{transform:scale(0.85);transform-origin:center;transition:transform .4s cubic-bezier(0.3, 0.8, 0.25, 1)}.logo-strip__list.is-active .logo-strip__item.is-active .logo-strip__details{opacity:1;transform:translateX(0);transition-delay:.15s,.15s;pointer-events:auto}.logo-strip.is-showing-panel .logo-strip__label{opacity:0}.logo-strip.is-showing-panel .logo-strip__scroll-cue{opacity:0;pointer-events:none}}.home-fold-fade{display:none}@media(min-width: 1440px){.home-fold-fade{display:block;position:fixed;left:0;right:0;bottom:0;height:220px;pointer-events:none;z-index:5;background:linear-gradient(to bottom, rgba(44, 62, 80, 0) 0%, rgba(44, 62, 80, 0.7) 55%, #2c3e50 100%);opacity:1;transition:opacity .5s ease}.home-fold-fade.is-hidden{opacity:0}}@media(prefers-reduced-motion: reduce){.home-fold-fade,.logo-strip__item,.logo-strip__glyph,.logo-strip__details{transition:none !important}}.logo-strip__scroll-cue{position:absolute;left:50%;bottom:-28px;z-index:6;transform:translateX(-50%);display:inline-flex;align-items:center;gap:10px;padding:10px 20px;background:#2c3e50;border:1px solid rgba(255,255,255,.12);border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#95a5a6;text-decoration:none;opacity:.75;transition:opacity .4s ease,transform .2s ease,border-color .2s ease}.logo-strip__scroll-cue:hover{opacity:1;border-color:rgba(255,255,255,.24)}.logo-strip__scroll-cue:hover .logo-strip__scroll-cue__arrow{transform:translateY(2px)}.logo-strip__scroll-cue__arrow{display:inline-flex;align-items:center;justify-content:center;width:14px;height:10px;transition:transform .4s ease;animation:logo-strip-bob 2.8s cubic-bezier(0.45, 0, 0.55, 1) infinite}.logo-strip__scroll-cue__arrow svg{width:100%;height:100%;display:block}@keyframes logo-strip-bob{0%,3%{transform:translateY(-2px);color:rgba(255,255,255,.55)}50%{transform:translateY(3px);color:#fff}97%,100%{transform:translateY(-2px);color:rgba(255,255,255,.55)}}@media only screen and (min-width: 768px){.logo-strip{margin-bottom:140px}.logo-strip__list{height:180px}.logo-strip__img--mark{height:88px}.logo-strip__img--wordmark{max-height:42px;max-width:165px}.logo-strip__wordmark{font-size:28px}.logo-strip__preview{flex:0 0 170px}.logo-strip__title{font-size:20px}.logo-strip__tagline{font-size:13.5px}}@media(hover: none),(max-width: 640px){.logo-strip__list{height:auto;flex-wrap:wrap;gap:32px 40px;padding:12px 0;border-radius:0;justify-content:center}.logo-strip__item{flex:0 0 auto;border:none;cursor:pointer;padding:0 12px;background:rgba(0,0,0,0) !important}.logo-strip__glyph{position:static;transform:none !important;opacity:1 !important}.logo-strip__details{display:none}.logo-strip__item.is-active{position:static}.logo-strip__item.is-active .logo-strip__details{display:flex;position:absolute;top:0;left:50%;width:100vw;min-height:100%;transform:translateX(-50%);z-index:5;flex-direction:column;align-items:stretch;gap:18px;padding:32px 24px;background:rgba(20,22,30,.98);opacity:1;pointer-events:auto;animation:logo-strip-card-in .28s cubic-bezier(0.3, 0.8, 0.25, 1)}.logo-strip__item.is-active .logo-strip__close{display:flex;align-items:center;justify-content:center}.logo-strip__item.is-active .logo-strip__preview{flex:0 0 auto;width:100%;height:160px;border-radius:10px}.logo-strip__item.is-active .logo-strip__title{font-size:22px}.logo-strip__item.is-active .logo-strip__tagline{font-size:14px}}@keyframes logo-strip-card-in{from{opacity:0;transform:translate(-50%, 8px)}to{opacity:1;transform:translate(-50%, 0)}}.stack{margin-bottom:100px}.stack .stack__label{color:#de4949;text-transform:uppercase;font-weight:700;letter-spacing:.08em;font-size:13px;margin-bottom:8px}.stack .stack__title{margin-bottom:12px}.stack .stack__intro{max-width:480px;margin-bottom:32px}.stack .stack__groups{list-style:none;margin:0;padding:0;border-top:1px solid rgba(236,240,241,.12)}.stack .stack__group{display:grid;grid-template-columns:1fr;gap:10px;padding:20px 0;border-bottom:1px solid rgba(236,240,241,.12)}@media only screen and (min-width: 768px){.stack .stack__group{grid-template-columns:180px 1fr;align-items:baseline;gap:0 24px}}.stack .stack__group-label{color:#95a5a6;text-transform:uppercase;font-weight:600;letter-spacing:.06em;font-size:13px}.stack .stack__group-body{display:flex;flex-direction:column;align-items:flex-start}.stack .stack__items{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 10px}.stack .stack__group-link{margin-top:12px;font-size:14px;font-weight:500;color:#de4949}.stack .stack__group-link:hover{text-decoration:underline}.stack .stack__item:not(.stack__item--has-proof),.stack .stack__item-button{background:#34495e;color:#bdc3c7;padding:6px 12px;border:1px solid rgba(0,0,0,0);border-radius:6px;font-size:15px;line-height:1.2;white-space:nowrap}.stack .stack__item-button{display:inline-flex;align-items:center;gap:7px;font-family:inherit;font-weight:inherit;cursor:pointer;transition:background .2s ease,color .2s ease}.stack .stack__item-button:hover,.stack .stack__item-button:focus-visible{color:#de4949;background:rgba(222,73,73,.1)}.stack .stack__item-button:focus-visible{outline:2px solid rgba(222,73,73,.6);outline-offset:2px}.stack .stack__item-chevron{width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;opacity:.55;transform:translateY(-2px) rotate(45deg);transition:transform .2s ease,opacity .2s ease}.stack .stack__item-button:hover .stack__item-chevron,.stack .stack__item-button:focus-visible .stack__item-chevron{opacity:1}.stack .stack__item-button[aria-expanded=true]{position:relative;z-index:1;margin-bottom:-1px;color:#de4949;border-color:rgba(255,255,255,.12);border-bottom-color:rgba(0,0,0,0);border-bottom-left-radius:0;border-bottom-right-radius:0}.stack .stack__item-button[aria-expanded=true] .stack__item-chevron{opacity:1;transform:translateY(1px) rotate(225deg)}.stack .stack__item-button[aria-expanded=true].is-detached{margin-bottom:0;border-bottom-color:rgba(255,255,255,.12);border-bottom-left-radius:6px;border-bottom-right-radius:6px}.stack .stack__proof{display:grid;grid-template-rows:0fr;align-self:stretch;overflow:hidden;opacity:0;visibility:hidden;transition:grid-template-rows .3s ease,opacity .2s ease,visibility 0s linear .3s}.stack .stack__proof.is-open{grid-template-rows:1fr;opacity:1;visibility:visible;transition:grid-template-rows .3s ease,opacity .24s ease .06s,visibility 0s}.stack .stack__proof-inner{min-height:0;overflow:hidden}.stack .stack__proof-links{list-style:none;margin:0;display:flex;flex-wrap:wrap;gap:8px 20px;padding:12px 14px;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:#34495e}.stack .stack__proof-links a{font-size:14px;font-weight:500;color:#de4949}.stack .stack__proof-links a:hover,.stack .stack__proof-links a:focus-visible{text-decoration:underline}.stack .stack__proof-ext{font-size:12px;opacity:.8}@media(prefers-reduced-motion: reduce){.stack .stack__proof,.stack .stack__proof.is-open,.stack .stack__item-button,.stack .stack__item-chevron{transition-duration:.01ms}}.stack .stack__cta{display:inline-block;margin-top:40px}@media only screen and (min-width: 768px){.stack{margin-bottom:160px}}/*# sourceMappingURL=style.css.map */