﻿@import"https://fonts.googleapis.com/css2?family=Oswald:wght@300;400;500&family=Roboto+Mono:wght@400;500&family=Roboto:wght@300;400;500;600;900&display=swap";:root{--background-color-brighter: #05121e;--background-color-darker: #040f18;--text-color-default: #759dc2;--text-color-brighter: #bad1e7;--text-color-highlighted: #15b3bd;--text-color-dimmed: #3a5772;--border-color-highlighted: #15b3bd;--border-color-dimmed: #091b2b;--surface-color: #0a2033;--font-default: 'Roboto', sans-serif;--font-headers: 'Oswald', sans-serif;--font-mono: 'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, monospace}*,*::before,*::after{box-sizing:border-box}html,body{margin:0}body{background-color:var(--background-color-darker);color:var(--text-color-default);font-family:var(--font-default);font-weight:300;font-size:16px}a{color:var(--text-color-highlighted)}a:hover{filter:brightness(85%)}h1,h2,h3,h4,h5,h6{font-family:var(--font-headers);color:var(--text-color-brighter)}p{line-height:1.5em}.center{text-align:center}.nowrap{white-space:nowrap}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.breadcrumb{margin:0 0 3rem}.breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;padding:0;list-style:none;font-size:.875rem;line-height:1.375rem}.breadcrumb li{display:flex;align-items:center;gap:.5rem}.breadcrumb li:not(:first-child)::before{content:"/";color:var(--text-color-dimmed)}.breadcrumb a{color:var(--text-color-default);text-decoration:none}.breadcrumb a:hover{color:var(--text-color-highlighted)}.breadcrumb span{color:var(--text-color-dimmed)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:.9rem;padding:3rem 1.5rem;text-align:center;border:1px solid rgba(17,42,65,.75);border-radius:12px}.empty-state .empty-state-line{width:2rem;height:3px;border-radius:5px;background-color:#15b3bd}.empty-state .empty-state-message{font-family:var(--font-default);font-weight:400;font-size:1.125rem;line-height:1.8125rem;letter-spacing:0;color:#bad1e7;margin:0}.empty-state .empty-state-hint{font-family:var(--font-default);font-weight:400;font-size:.875rem;line-height:1.375rem;letter-spacing:0;color:#66809a;margin:0}.availability{background-color:rgba(5,18,30,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #112a41;border-radius:12px;padding:1.75rem;display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.availability-status{font-family:var(--font-default);font-weight:500;font-size:1rem;line-height:1.5rem;letter-spacing:0;display:flex;align-items:center;gap:.625rem;color:#bad1e7;margin:0}.availability-dot{flex-shrink:0;width:.625rem;height:.625rem;border-radius:50%;background-color:#8aa0b8}.availability-detail{font-family:var(--font-default);font-weight:400;font-size:.875rem;line-height:1.375rem;letter-spacing:0;color:#8fa8c0;margin:0}.availability-available .availability-dot{background-color:#33d97a}.availability-open_to_smaller .availability-dot{background-color:#f2a633}.availability-booked .availability-dot{background-color:#e05f5f}.availability-away .availability-dot{background-color:#8aa0b8}.button{font-family:var(--font-default);font-weight:400;font-size:.875rem;line-height:1.375rem;letter-spacing:0;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;appearance:none;border:none;border-radius:8px;color:#05121e;background-color:#15b3bd;padding:.6rem 1.75rem;transition:background-color .3s ease;text-decoration:none}.button svg{height:.9rem;width:1.2rem;fill:currentColor}.button:hover{background-color:rgba(21,179,189,.9)}.button.rounded{border-radius:50%}.button.outline{background-color:rgba(0,0,0,0);border:1px solid #15b3bd;color:#15b3bd}.button.outline:hover{background-color:rgba(21,179,189,.15)}.form{display:flex;flex-direction:column;gap:.5rem}.form-field{position:relative;display:flex;flex-direction:column;padding-top:1.25rem}.form-field>label{font-family:var(--font-default);font-weight:400;font-size:1rem;line-height:1.625rem;letter-spacing:0;position:absolute;top:1.25rem;left:0;color:#66809a;padding:.6875rem 1rem;pointer-events:none;transform-origin:left top;transition:transform .15s ease,color .15s ease}.form-field>input:focus~label,.form-field>input:not(:placeholder-shown)~label,.form-field>textarea:focus~label,.form-field>textarea:not(:placeholder-shown)~label,.form-field>select~label{transform:translate(0.1875rem, -1.875rem) scale(0.8125)}.form-field>input:focus~label,.form-field>textarea:focus~label,.form-field>select:focus~label{color:#15b3bd}.form-field>input:disabled~label,.form-field>textarea:disabled~label,.form-field>select:disabled~label{color:rgba(102,128,154,.65)}.form-field input:where(:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button])),.form-field select,.form-field textarea{font-family:var(--font-default);font-weight:400;font-size:1rem;line-height:1.625rem;letter-spacing:0;width:100%;color:#bad1e7;background-color:#040f18;border:1px solid #486580;border-radius:8px;padding:.6875rem 1rem;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.form-field input:where(:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]))::placeholder,.form-field select::placeholder,.form-field textarea::placeholder{color:#66809a;opacity:1}.form-field input:where(:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button])):hover:where(:not(:disabled)),.form-field select:hover:where(:not(:disabled)),.form-field textarea:hover:where(:not(:disabled)){border-color:rgba(23,209,221,.5)}.form-field input:where(:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button])):focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:#17d1dd;box-shadow:0 0 0 3px rgba(21,179,189,.15)}.form-field input:where(:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button])):disabled,.form-field select:disabled,.form-field textarea:disabled{color:#66809a;background-color:#05121e;border-color:#112a41;cursor:not-allowed}.form-field input:where(:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button])):disabled::placeholder,.form-field select:disabled::placeholder,.form-field textarea:disabled::placeholder{color:rgba(102,128,154,.65)}.form-field input:not(:placeholder-shown):not(:focus),.form-field textarea:not(:placeholder-shown):not(:focus){border-color:#22496c}.form-field textarea{min-height:8.75rem;line-height:1.625rem;resize:vertical}.form-field select{appearance:none;padding-right:2.5rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2366809a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;background-size:1rem;cursor:pointer}.form-field select:disabled{cursor:not-allowed}.form-field select option{color:#bad1e7;background-color:#040f18}.form-field.has-error>input~label,.form-field.has-error>select~label,.form-field.has-error>textarea~label{color:#e05f5f}.form-field.has-error input:not(:focus),.form-field.has-error select:not(:focus),.form-field.has-error textarea:not(:focus){border-color:#e05f5f}.form-field.has-error input:focus,.form-field.has-error select:focus,.form-field.has-error textarea:focus{border-color:#e05f5f;box-shadow:0 0 0 3px rgba(224,95,95,.08)}.form-error{font-family:var(--font-default);font-weight:400;font-size:.8125rem;line-height:1.25rem;letter-spacing:0;display:block;color:#e05f5f;margin-top:.375rem}.form-error:empty{display:none}.form-hint{font-family:var(--font-default);font-weight:400;font-size:.8125rem;line-height:1.25rem;letter-spacing:0;display:block;color:#66809a;margin-top:.375rem}.form-check{display:flex;align-items:flex-start;gap:.75rem}.form-check input[type=checkbox]{appearance:none;flex-shrink:0;width:1.125rem;height:1.125rem;margin:.125rem 0 0;background-color:#040f18;background-position:center;background-repeat:no-repeat;border:1px solid #486580;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.form-check input[type=checkbox]:hover:not(:disabled){border-color:rgba(23,209,221,.5)}.form-check input[type=checkbox]:checked{background-color:#15b3bd;border-color:#15b3bd}.form-check input[type=checkbox]:focus-visible{outline:none;border-color:#17d1dd;box-shadow:0 0 0 3px rgba(21,179,189,.15)}.form-check input[type=checkbox]:disabled{background-color:#05121e;border-color:#112a41;cursor:not-allowed}.form-check input[type=checkbox]{border-radius:4px}.form-check input[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2305121e' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E");background-size:.75rem}.form-check input[type=radio]{appearance:none;flex-shrink:0;width:1.125rem;height:1.125rem;margin:.125rem 0 0;background-color:#040f18;background-position:center;background-repeat:no-repeat;border:1px solid #486580;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.form-check input[type=radio]:hover:not(:disabled){border-color:rgba(23,209,221,.5)}.form-check input[type=radio]:checked{background-color:#15b3bd;border-color:#15b3bd}.form-check input[type=radio]:focus-visible{outline:none;border-color:#17d1dd;box-shadow:0 0 0 3px rgba(21,179,189,.15)}.form-check input[type=radio]:disabled{background-color:#05121e;border-color:#112a41;cursor:not-allowed}.form-check input[type=radio]{border-radius:50%}.form-check input[type=radio]:checked{background-image:radial-gradient(circle, #05121e 0 0.1875rem, transparent 0.1875rem)}.form-check label{font-family:var(--font-default);font-weight:400;font-size:.875rem;line-height:1.375rem;letter-spacing:0;color:#8fa8c0;cursor:pointer}.form-check label a{color:#15b3bd;text-decoration:none}.form-check label a:hover{text-decoration:underline}.form-check input:disabled+label{color:#66809a;cursor:not-allowed}.form-group{display:flex;flex-direction:column;gap:.625rem;margin:0;padding:0;border:0}.form-group>legend,.form-group>.form-group-label{font-family:var(--font-default);font-weight:500;font-size:1rem;line-height:1.5rem;letter-spacing:0;color:#bad1e7;margin-bottom:.25rem;padding:0}.form-actions{display:flex;justify-content:flex-end;margin-top:.5rem}.form-actions .button:disabled{opacity:.55;cursor:not-allowed}.form-aux{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.message{font-family:var(--font-default);font-weight:400;font-size:.875rem;line-height:1.375rem;letter-spacing:0;display:flex;align-items:flex-start;gap:.75rem;color:#8fa8c0;background-color:#040f18;border:1px solid #112a41;border-radius:8px;padding:.75rem 1rem}.message:empty{display:none}.message::before{content:"";display:none;flex-shrink:0;width:1.25rem;height:1.25rem;margin-top:.0625rem;background-color:#8fa8c0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.message.is-error{color:#bad1e7;background-color:rgba(224,95,95,.08);border-color:rgba(224,95,95,.45)}.message.is-error::before{display:block;background-color:#e05f5f;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5v5'/%3E%3Cpath d='M12 16.25v.01'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5v5'/%3E%3Cpath d='M12 16.25v.01'/%3E%3C/svg%3E")}.message.is-success{color:#bad1e7;background-color:rgba(51,217,122,.08);border-color:rgba(51,217,122,.45)}.message.is-success::before{display:block;background-color:#33d97a;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12 2.75 2.75L16 9'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12 2.75 2.75L16 9'/%3E%3C/svg%3E")}.message.is-warning{color:#bad1e7;background-color:rgba(242,166,51,.08);border-color:rgba(242,166,51,.45)}.message.is-warning::before{display:block;background-color:#f2a633;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5.25l3.25 1.9'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5.25l3.25 1.9'/%3E%3C/svg%3E")}.message.is-info{color:#bad1e7;background-color:rgba(21,179,189,.15);border-color:rgba(21,179,189,.45)}.message.is-info::before{display:block;background-color:#15b3bd;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5.5'/%3E%3Cpath d='M12 7.75v.01'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5.5'/%3E%3Cpath d='M12 7.75v.01'/%3E%3C/svg%3E")}body.has-lightbox{overflow:hidden}.lightbox{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:4.5rem 1rem 1.5rem;background-color:rgba(4,15,24,.9);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.lightbox-figure{display:flex;flex-direction:column;align-items:center;gap:.75rem;max-width:100%;max-height:100%;margin:0}.lightbox-figure img{display:block;flex:0 1 auto;min-height:0;max-width:100%;max-height:100%;object-fit:contain;border:1px solid rgba(17,42,65,.75);border-radius:8px}.lightbox-figure figcaption{font-family:var(--font-default);font-weight:400;font-size:.875rem;line-height:1.375rem;letter-spacing:0;flex-shrink:0;color:#66809a;text-align:center}.lightbox-close{position:absolute;top:1.25rem;right:1.25rem;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;background:none;border:1px solid rgba(17,42,65,.75);border-radius:50%;color:#bad1e7;cursor:pointer;transition:color .2s ease,border-color .2s ease}.lightbox-close svg{width:.875rem;height:.875rem}.lightbox-close:hover{color:#15b3bd;border-color:rgba(21,179,189,.45)}.lightbox-close:focus-visible{outline:2px solid rgba(21,179,189,.45);outline-offset:2px}@media(min-width: 744px){.lightbox{padding:4.5rem 3rem 3rem}.lightbox-close{top:2rem;right:2rem}}#article,#project,#page{min-height:100vh}#article.horizontal-section,#project.horizontal-section,#page.horizontal-section{padding:4rem 0 6rem}.article-meta,.article-translations{font-family:var(--font-default);font-weight:400;font-size:.875rem;line-height:1.375rem;letter-spacing:0;color:#66809a;margin:0}.article-body{font-family:var(--font-default);font-weight:400;font-size:1rem;line-height:1.625rem;letter-spacing:0;color:#8fa8c0}.project-gallery+.article-body{margin-top:3.5rem}.article-body>*{margin:0 0 1.5rem}.article-body>*:last-child{margin-bottom:0}.article-body h1,.article-body h2{font-family:var(--font-headers);font-weight:400;font-size:1.75rem;line-height:2.25rem;letter-spacing:1px;color:#bad1e7;margin:2.75rem 0 1.5rem}.article-body h3,.article-body h4,.article-body h5,.article-body h6{font-family:var(--font-headers);font-weight:500;font-size:1.125rem;line-height:1.5rem;letter-spacing:.5px;color:#bad1e7;margin:2.25rem 0 1.5rem}.article-body>:first-child{margin-top:0}.article-body a{color:#15b3bd;text-decoration:underline;text-underline-offset:3px}.article-body ul,.article-body ol{padding-left:1.625rem}.article-body ul{list-style:none;padding-left:0}.article-body ul>li{position:relative;padding-left:1.625rem}.article-body ul>li::before{content:"—";position:absolute;left:0;color:#15b3bd}.article-body li{margin-bottom:.625rem}.article-body li::marker{color:#15b3bd}.article-body li>ul,.article-body li>ol{margin:.625rem 0 0}.article-body code{font-family:var(--font-mono);font-size:.875rem}.article-body :not(pre)>code{color:#15b3bd;word-break:break-word}.article-body pre{background-color:#040f18;border:1px solid rgba(17,42,65,.75);border-radius:6px;padding:1.25rem 1.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch;font-family:var(--font-mono);font-size:.875rem;line-height:1.5rem;color:#bad1e7}.article-body pre code{font:inherit;color:inherit}.article-body blockquote{font-family:var(--font-default);font-weight:400;font-size:1.125rem;line-height:1.8125rem;letter-spacing:0;border-left:2px solid #15b3bd;padding:.25rem 0 .25rem 1.25rem;color:#bad1e7}.article-body blockquote>*{margin:0 0 1rem}.article-body blockquote>*:last-child{margin-bottom:0}.article-body figure{margin:0 0 1.5rem}.article-body img{display:block;width:100%;height:auto;border-radius:8px}.article-body figcaption{font-family:var(--font-default);font-weight:400;font-size:.875rem;line-height:1.375rem;letter-spacing:0;color:#66809a;margin-top:.625rem}.article-body hr{border:0;border-top:1px solid rgba(17,42,65,.75);margin:3rem 0}.article-body table{width:100%;border-collapse:collapse;text-align:left}.article-body th,.article-body td{border-bottom:1px solid rgba(17,42,65,.75);padding:.625rem 1rem .625rem 0}.article-body th{font-family:var(--font-default);font-weight:500;font-size:1rem;line-height:1.5rem;letter-spacing:0;color:#bad1e7}.subpage-footer{margin-top:3.5rem;padding-top:3.5rem;border-top:1px solid rgba(17,42,65,.75)}@media(min-width: 1020px){.article-body{width:45rem;max-width:100%;margin-left:auto;margin-right:auto}}.subpage-header{padding:0 0 3rem;margin-bottom:3rem;border-bottom:1px solid rgba(17,42,65,.75)}.subpage-header-title{font-family:var(--font-headers);font-weight:300;font-size:2.625rem;line-height:3.5rem;letter-spacing:1px;text-transform:uppercase;margin:0}.subpage-header-intro{font-family:var(--font-default);font-weight:400;font-size:1rem;line-height:1.625rem;letter-spacing:0;max-width:45rem;margin:1rem 0 0}.go-to-list{padding:0;display:flex}.go-to-list.back{justify-content:flex-start}.go-to-list.forward{justify-content:flex-end}.go-to-list a{font-family:var(--font-default);font-weight:400;font-size:.875rem;line-height:1.375rem;letter-spacing:0;display:inline-flex;align-items:center;gap:.35rem;color:#15b3bd;text-decoration:none;white-space:nowrap}.go-to-list a svg{stroke:#15b3bd;width:1em}.page-container{display:flex;flex-direction:column}.wrapper{width:1120px;max-width:100%;margin:0 auto;padding:0 1rem 0 1rem}.horizontal-section{padding:15px 0}.horizontal-section.brighter{background-color:#05121e}.horizontal-section.darker{background-color:#040f18}.menu-bar-placeholder{display:none;height:114px}.menu-bar-placeholder.is-visible{display:block}@media(min-width: 1024px){.menu-bar-placeholder{height:64px}}.nav{margin:0;padding:0;list-style-type:none;display:flex}.nav li{margin:0;padding:0;line-height:34px}.nav li a{color:#8fa8c0;text-decoration:none;vertical-align:middle}.nav li a svg{vertical-align:middle}.nav li a svg path{fill:#8fa8c0}.nav li a.current{color:#bad1e7}.nav li a.current svg path{fill:#bad1e7}#top{position:relative;display:flex;align-items:center;width:100%;z-index:1000;will-change:transform;transform:translateY(0);transition:transform .3s ease-in-out,background-color .3s ease-in-out,box-shadow .3s ease-in-out;background-color:rgba(5,18,30,.9);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-bottom:1px solid rgba(17,42,65,.75)}#top.no-transition{transition:none !important}#top.is-sticky{position:fixed;top:0;left:0;box-shadow:0 2px 10px rgba(4,15,24,.9)}#top.is-sticky.is-hidden{transform:translateY(-100%)}#top.is-sticky.is-hidden.nav-open{transform:translateY(0)}#top .wrapper{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;column-gap:1rem;padding-top:1.2rem;padding-bottom:1.2rem}#top .nav-bar-top{display:flex;align-items:center;justify-content:space-between;column-gap:1rem;flex:1 1 auto}#top .main-logo-full{display:none}#top .main-logo-mobile{display:block;height:42px}#top .nav-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;row-gap:5px;width:34px;height:34px;padding:0;flex-shrink:0;background:none;border:none;cursor:pointer}#top .nav-toggle-bar{display:block;width:22px;height:2px;background-color:#bad1e7;transition:transform .25s ease,opacity .25s ease}#top.nav-open .nav-toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}#top.nav-open .nav-toggle-bar:nth-child(2){opacity:0}#top.nav-open .nav-toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media(min-width: 1020px){#top .wrapper{flex-wrap:nowrap;padding-top:0;padding-bottom:0}#top .nav-bar-top{flex:0 0 auto}#top .main-logo-full{display:block}#top .main-logo-mobile{display:none}#top .nav-toggle{display:none}}.hero-wrap #top:not(.is-sticky):not(.nav-open){background-color:rgba(0,0,0,0);-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom-color:rgba(0,0,0,0)}#primary-nav{position:absolute;top:100%;left:0;right:0;width:1120px;max-width:100%;margin:0 auto;padding:1.75rem 1rem;flex-direction:column;align-items:stretch;justify-content:flex-start;row-gap:1.75rem;max-height:70vh;overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-0.5rem);transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s;border-bottom:1px solid rgba(17,42,65,.75);background-color:rgba(5,18,30,.9);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}#primary-nav li{line-height:normal}#primary-nav li a{font-family:var(--font-default);font-weight:500;font-size:.9375rem;line-height:1.25rem;letter-spacing:.2px;display:block;color:#bad1e7}#primary-nav a.current{color:#66809a}#primary-nav a.current svg path{fill:#66809a}#primary-nav .homepage a{display:flex;align-items:center;gap:.75em}#primary-nav .homepage a svg{display:inline-flex;vertical-align:text-top}#primary-nav .homepage-label{display:inline-flex}#primary-nav .lang-switch a{display:inline;color:#8fa8c0}#top.nav-open #primary-nav{opacity:1;visibility:visible;transform:translateY(0);transition:opacity .25s ease,transform .25s ease,visibility 0s}@media(min-width: 1020px){#primary-nav{position:static;width:auto;margin:0;padding:0;flex:0 0 auto;flex-direction:row;align-items:center;justify-content:space-between;column-gap:3rem;max-height:none;overflow:visible;opacity:1;visibility:visible;transform:none;transition:none;border-bottom:none;background-color:rgba(0,0,0,0);-webkit-backdrop-filter:none;backdrop-filter:none}#primary-nav li{line-height:34px}#primary-nav li a{display:inline}#primary-nav .homepage-label{display:none}#top.nav-open #primary-nav{transform:none;transition:none}}.lang-switch{font-family:var(--font-default);font-weight:500;font-size:.9375rem;line-height:1.25rem;letter-spacing:.2px;display:inline-flex;align-items:center}.lang-switch-list{display:inline-flex;align-items:center;gap:.5rem}.lang-switch-current{color:#15b3bd}.lang-switch-sep{color:#66809a}.lang-switch-unavailable{color:rgba(102,128,154,.65);cursor:not-allowed}#footer{font-size:.9rem;line-height:1.5rem;color:var(--text-color-dimmed);border-top:1px solid var(--border-color-dimmed);padding:1.6rem 0}#footer .wrapper{display:flex;flex-direction:column;justify-content:space-between;row-gap:1.6rem}@media(min-width: 768px){#footer .wrapper{display:flex;flex-direction:row;justify-content:space-between;row-gap:unset}}.company-contact-info{display:flex;flex-direction:column;text-align:center;margin:0 auto}.company-contact-info .logo img{width:4.5rem;margin:.8rem 0;padding:0}.company-contact-info .text address{font-style:normal}@media(min-width: 768px){.company-contact-info{flex-direction:row;text-align:left;margin:0}.company-contact-info .logo img{margin:0 .8rem 0 0;padding:0}}.nav-and-copyright .nav,.nav-and-copyright .copyright{margin:0;padding:0}.nav-and-copyright .nav{list-style-type:none;display:flex;flex-wrap:nowrap;justify-content:center;column-gap:.8rem;margin-bottom:1.6rem}@media(min-width: 768px){.nav-and-copyright .nav{justify-content:flex-end}}.nav-and-copyright .nav li a{color:var(--text-color-default);text-decoration:none}.nav-and-copyright .nav li a:hover{color:var(--text-color-highlighted)}.nav-and-copyright .copyright{text-align:center}@media(min-width: 768px){.nav-and-copyright .copyright{text-align:right}}#error{min-height:100vh}#error.horizontal-section{padding:4rem 0}#error .error-code{font-family:var(--font-default);font-weight:600;font-size:.8125rem;line-height:1.125rem;letter-spacing:1.5px;color:#15b3bd;text-transform:uppercase}.home-section-title{font-family:var(--font-headers);font-weight:400;font-size:1.75rem;line-height:2.25rem;letter-spacing:1px;text-transform:uppercase;margin:0 0 2.5rem;text-align:center}.home-section-intro{font-family:var(--font-default);font-weight:400;font-size:1.125rem;line-height:1.8125rem;letter-spacing:0;text-align:center}@media(min-width: 1020px){.home-section-title{text-align:left}.home-section-intro{text-align:left}}#hero{position:relative;z-index:1;flex-grow:1;display:flex;flex-direction:column;background-size:cover;background-position:center}.hero-wrap{display:flex;flex-direction:column;min-height:100vh;position:relative;overflow:hidden}.hero-wrap::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(to bottom, #040f18, rgba(5, 18, 30, 0.35), rgba(5, 18, 30, 0.35), #05121e);pointer-events:none}.hero-video{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.hero-intro{flex-grow:1;display:flex;flex-direction:column;justify-content:center;width:768px}.hero-intro h1{font-family:var(--font-headers);font-weight:300;font-size:2.625rem;line-height:3.5rem;letter-spacing:1px;text-transform:none;text-shadow:0 2px 10px rgba(3,8,15,.65);margin:2rem 0}@media(min-width: 1020px){.hero-intro h1{text-transform:uppercase}}.welcome-text{font-family:var(--font-default);font-weight:400;font-size:1.125rem;line-height:1.8125rem;letter-spacing:0;color:#95b5d2;text-shadow:0 2px 10px rgba(3,8,15,.65)}.highlights{padding-top:4rem;padding-bottom:3rem}.highlights-eyebrow{font-family:var(--font-headers);font-weight:400;font-size:1.75rem;line-height:2.25rem;letter-spacing:1px;color:#bad1e7;text-transform:uppercase}.highlights-grid{display:grid;grid-template-columns:1fr;gap:2rem}.highlight-item{background-color:rgba(5,18,30,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(17,42,65,.75);border-radius:12px;padding:1.75rem}.highlight-item-title{font-family:var(--font-headers);font-weight:500;font-size:1.125rem;line-height:1.5rem;letter-spacing:.5px}.highlight-item-title::before{content:"";width:16px;height:3px;margin:0;padding:0;border-radius:5px;display:inline-flex;flex-shrink:0;background-color:#15b3bd;text-shadow:0 2px 10px rgba(3,8,15,.65)}.highlight-item-title{display:flex;align-items:center;gap:.6rem;margin:0 0 .75rem;letter-spacing:.02em;text-transform:uppercase}.highlight-item-text{margin:0;color:#8fa8c0}@media(min-width: 1020px){.highlights-eyebrow{display:flex;align-items:center;margin:0 0 .5rem;gap:.6rem;font-family:var(--font-default);font-weight:600;font-size:.8125rem;line-height:1.125rem;letter-spacing:1.5px}.highlights-eyebrow::before{content:"";width:16px;height:3px;margin:0;padding:0;border-radius:5px;display:inline-flex;flex-shrink:0;background-color:#15b3bd;text-shadow:0 2px 10px rgba(3,8,15,.65)}.highlight-item-featured{grid-column:1/-1;display:flex;align-items:center;gap:2.5rem;background-color:rgba(0,0,0,0);-webkit-backdrop-filter:none;backdrop-filter:none;border:none;border-radius:0;padding:0}.highlight-item-featured .highlight-item-title{font-family:var(--font-headers);font-weight:300;font-size:2.25rem;line-height:3.5rem;letter-spacing:1px;display:inline-flex;flex-shrink:0;margin:0}.highlight-item-featured .highlight-item-title::before{display:none}.highlight-item-featured .highlight-item-text{display:flex;align-items:center;margin:0;max-width:640px;color:#95b5d2;text-shadow:0 2px 10px rgba(3,8,15,.65)}.highlight-item-featured .highlight-item-text::before{content:"";display:inline-flex;flex-shrink:0;margin:0 2.5rem 0 0;width:3px;height:3.5rem;border-radius:5px;background-color:#15b3bd;transform:skewX(-10deg)}}@media(min-width: 744px){.highlights-grid{grid-template-columns:repeat(2, 1fr)}}@media(min-width: 1020px){.highlights-grid{grid-template-columns:repeat(3, 1fr)}}#about{position:relative;overflow:hidden;padding:4rem 0}.about-content{display:flex;flex-direction:column;align-items:center;gap:2rem;margin:0 2rem}.about-photo-wrap::before{content:"";position:absolute;z-index:0;top:50%;left:50%;width:35rem;height:13.75rem;transform:translate(-50%, -50%);background:radial-gradient(ellipse closest-side, rgba(21, 179, 189, 0.45), transparent);filter:blur(35px);pointer-events:none}.about-photo-wrap{position:relative;display:flex}.about-photo{position:relative;z-index:1;display:inline-flex;width:10.875rem;height:10.875rem;padding:.5rem;border-radius:50%;background-color:rgba(21,179,189,.15)}.about-photo-ring{position:absolute;z-index:0;top:50%;left:50%;width:11.625rem;height:11.625rem;margin:-5.8125rem 0 0 -5.8125rem;border-radius:50%;background:conic-gradient(transparent 0 105deg, rgba(21, 179, 189, 0.9) 105deg 106.35deg, transparent 106.35deg 339.15deg, rgba(21, 179, 189, 0.9) 339.15deg 340.5deg, transparent 340.5deg 360deg);pointer-events:none}.about-photo-ring::before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(transparent 0 105deg, rgba(21, 179, 189, 0.9) 105deg 340.5deg, transparent 340.5deg 360deg);-webkit-mask-image:radial-gradient(circle closest-side, transparent calc(100% - 2px), #000 calc(100% - 2px));mask-image:radial-gradient(circle closest-side, transparent calc(100% - 2px), #000 calc(100% - 2px))}.about-text-wrap{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.about-text{font-family:var(--font-default);font-weight:400;font-size:1rem;line-height:1.625rem;letter-spacing:0;color:#8fa8c0;text-align:center}@media(min-width: 1020px){.about-content{flex-direction:row;align-items:center;text-align:left;gap:4rem}.about-text-wrap{align-items:flex-start}.about-text{text-align:left}}#stack.horizontal-section{padding:4rem 0;border-top:1px solid var(--border-color-dimmed)}.stack-categories{display:grid;grid-template-columns:minmax(0, 1fr);gap:1.5rem}.stack-category{min-width:0}.stack-category-title{font-family:var(--font-headers);font-weight:400;font-size:1.125rem;line-height:1.5rem;letter-spacing:.5px;overflow-wrap:break-word;margin:0 0 2rem;padding-bottom:.5rem;border-bottom:2px solid #112a41;text-transform:uppercase;color:#66809a}.stack-category-toggle{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:1rem;width:100%;margin:0;padding:0;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-align:left;text-transform:inherit;cursor:default}.stack-category-label{min-width:0;overflow-wrap:break-word}.stack-category-chevron{display:none;flex-shrink:0;color:#15b3bd;transition:transform .2s ease}.stack-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.25rem}.stack-list[hidden]{display:none}.stack-item{display:flex;flex-direction:column;gap:.25rem}.stack-item-name{font-family:var(--font-default);font-weight:400;font-size:1rem;line-height:1.625rem;letter-spacing:0;display:flex;align-items:center;gap:.5rem;min-width:0;overflow-wrap:break-word;color:#bad1e7}.stack-item-name::before{content:"";flex-shrink:0;width:10px;height:3px;border-radius:5px;background-color:#15b3bd}.stack-item-tagline{font-family:var(--font-default);font-weight:400;font-size:.875rem;line-height:1.375rem;letter-spacing:0;min-width:0;overflow-wrap:break-word;color:#66809a}.stack-categories.is-collapsible .stack-category-title{margin-bottom:1rem}.stack-categories.is-collapsible .stack-category:not(.is-open) .stack-category-title{margin-bottom:0}.stack-categories.is-collapsible .stack-category-toggle{cursor:pointer}.stack-categories.is-collapsible .stack-category-chevron{display:block}.stack-categories.is-collapsible .stack-category.is-open .stack-category-chevron{transform:rotate(180deg)}@media(min-width: 744px){.stack-categories{grid-template-columns:repeat(2, minmax(0, 1fr));gap:2.5rem 3rem}}@media(min-width: 1020px){.stack-categories{grid-template-columns:repeat(3, minmax(0, 1fr))}}#projects.horizontal-section{padding:4rem 0;border-top:1px solid var(--border-color-dimmed)}#projects .go-to-list{margin-top:2rem}#contact.horizontal-section{padding:4rem 0;border-top:1px solid var(--border-color-dimmed);background-image:url("/static/contact-bg.png");background-size:cover;background-position:center;background-repeat:no-repeat}.contact-columns{display:grid;gap:2.5rem}.contact-columns .form-field input:not(:disabled),.contact-columns .form-field select:not(:disabled),.contact-columns .form-field textarea:not(:disabled){background-color:rgba(5,18,30,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.contact-aside{display:flex;flex-direction:column;gap:1.625rem}.contact-intro{margin:0;color:#8fa8c0}.contact-email{display:flex;align-items:center;gap:.875rem;margin:0}.contact-email a{font-family:var(--font-default);font-weight:400;font-size:1rem;line-height:1.625rem;letter-spacing:0;color:#15b3bd;text-decoration:none}.contact-email a:hover{text-decoration:underline}.contact-email svg{flex-shrink:0;width:1.375rem;height:1.375rem;stroke:#15b3bd;fill:none}.availability{margin:0}.contact-divider{display:flex;flex-direction:row;align-items:center;gap:1rem;color:#66809a}.contact-divider::before,.contact-divider::after{content:"";flex:1;height:1px;background-color:#22496c}.contact-divider span{font-family:var(--font-headers);font-weight:400;font-size:1.125rem;line-height:1.5rem;letter-spacing:.5px;text-transform:uppercase;transform:rotate(-15deg)}@media(min-width: 1020px){.contact-columns{grid-template-columns:minmax(0, 1fr) 1px minmax(0, 1fr);gap:0 3.625rem;align-items:start}.contact-divider{position:relative;display:block;align-self:stretch}.contact-divider::before,.contact-divider::after{position:absolute;left:0;width:1px;height:auto}.contact-divider::before{top:0;bottom:calc(50% + 1.5rem)}.contact-divider::after{top:calc(50% + 1.5rem);bottom:0}.contact-divider span{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%) rotate(-15deg)}}.contact-status{margin:1.25rem 0 0}#projects-list{min-height:100vh}#projects-list.horizontal-section{padding:4rem 0}.tech-filter{border-bottom:1px solid rgba(17,42,65,.75);padding:1.25rem 0;margin:-3rem 0 3rem}.tech-filter fieldset{border:none;padding:0;margin:0;min-width:0}.tech-filter legend{font-family:var(--font-default);font-weight:400;font-size:.875rem;line-height:1.375rem;letter-spacing:0;padding:0;color:#8fa8c0}.tech-filter-row{display:flex;flex-direction:column;align-items:flex-start;gap:1.25rem;margin-top:.75rem}.tech-filter-options{display:flex;flex-wrap:wrap;gap:.75rem}.tech-filter-actions{display:flex;align-items:center;gap:1.25rem}@media(min-width: 744px){.tech-filter-row{flex-direction:row;align-items:center;gap:1.5rem}.tech-filter-options{flex:1 1 auto;min-width:0}.tech-filter-actions{flex-shrink:0;justify-content:flex-start}}.tech-filter-option{display:inline-flex;align-items:center;cursor:pointer}.tech-filter-option input{position:absolute;opacity:0;width:0;height:0}.tech-filter-option span{font-size:.6875rem;letter-spacing:.44px;text-transform:uppercase;color:#66809a;background-color:rgba(0,0,0,0);border:1px solid rgba(17,42,65,.75);border-radius:999px;padding:.375rem .8125rem;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.tech-filter-option input:checked+span{color:#15b3bd;background-color:rgba(21,179,189,.15);border-color:rgba(23,209,221,.5)}.tech-filter-option input:focus-visible+span{outline:none;box-shadow:0 0 0 1px rgba(21,179,189,.45)}.tech-filter-clear{font-family:var(--font-default);font-weight:400;font-size:.875rem;line-height:1.375rem;letter-spacing:0;color:#66809a;text-decoration:underline}.tech-filter-clear:hover{color:#15b3bd}.projects-grid{display:grid;grid-template-columns:1fr;gap:2.5rem}@media(min-width: 744px){.projects-grid{grid-template-columns:repeat(2, 1fr)}}@media(min-width: 1020px){.projects-grid{grid-template-columns:repeat(3, 1fr)}}.project-card{display:flex;flex-direction:column;border:1px solid rgba(17,42,65,.75);border-radius:12px;overflow:hidden;transition:border-color .25s ease}.project-card:hover{border-color:rgba(21,179,189,.45)}.project-thumb-wrap{display:block;aspect-ratio:16/9;overflow:hidden}.project-thumb{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.project-card:hover .project-thumb{transform:scale(1.05)}.project-card-body{display:flex;flex-direction:column;flex-grow:1;gap:.8rem;padding:1.75rem}.project-tags{list-style-type:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.project-tags li{font-family:var(--font-default);font-weight:400;font-size:.875rem;line-height:1.375rem;letter-spacing:0;color:#15b3bd;margin:0;padding:0}.project-tags li::before{content:"·";margin-right:.5rem}.project-tags li:first-child::before{content:"";margin-right:0}.project-tags li a{text-decoration:none}.project-card-title{font-family:var(--font-headers);font-weight:500;font-size:1.125rem;line-height:1.5rem;letter-spacing:.5px}.project-card-title::before{content:"";width:16px;height:3px;margin:0;padding:0;border-radius:5px;display:inline-flex;flex-shrink:0;background-color:#15b3bd;text-shadow:0 2px 10px rgba(3,8,15,.65)}.project-card-title{display:flex;align-items:center;gap:.6rem;margin:0}.project-card-title a{color:inherit;text-decoration:none}.project-card-description{font-family:var(--font-default);font-weight:400;font-size:.875rem;line-height:1.375rem;letter-spacing:0;color:#8fa8c0;flex-grow:1;margin:0}.project-links{display:flex;justify-content:flex-end;gap:1.5rem;margin:0;padding-top:0}.project-link{font-family:var(--font-default);font-weight:400;font-size:.875rem;line-height:1.375rem;letter-spacing:0;display:inline-flex;align-items:center;gap:.35rem;color:#15b3bd;text-decoration:none;white-space:nowrap}.project-link svg{stroke:#15b3bd;width:1em}#testimonials.horizontal-section{padding:4rem 0;border-top:1px solid var(--border-color-dimmed)}#testimonials h2{margin:0 0 3rem}.testimonials-grid{display:grid;grid-template-columns:1fr;gap:2.5rem}@media(min-width: 744px){.testimonials-grid{grid-template-columns:repeat(2, 1fr)}}@media(min-width: 1020px){.testimonials-grid{grid-template-columns:repeat(3, 1fr)}}.testimonial-card{background-color:rgba(5,18,30,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(17,42,65,.75);border-radius:12px;padding:1.75rem;display:flex;flex-direction:column;transition:border-color .25s ease}.testimonial-card:hover{border-color:rgba(21,179,189,.9)}.testimonial-card blockquote{font-family:var(--font-default);font-weight:400;font-size:.875rem;line-height:1.375rem;letter-spacing:0;font-style:italic;position:relative;margin:0 0 1.5rem;flex-grow:1;padding-top:1.5rem;color:#bad1e7}.testimonial-card blockquote::before{content:"“";position:absolute;top:-0.75rem;left:-0.15rem;font-family:var(--font-headers);font-style:normal;font-size:3.5rem;line-height:1;color:var(--text-color-highlighted);opacity:.35}.testimonial-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem}.testimonial-author{display:flex;align-items:center;gap:.75rem;min-width:0}.testimonial-avatar{flex-shrink:0;width:2.75rem;height:2.75rem;border-radius:50%;object-fit:cover;border:2px solid var(--border-color-dimmed)}.testimonial-author-info{display:flex;flex-direction:column;min-width:0}.testimonial-author-name{color:var(--text-color-brighter);font-size:.95rem}.testimonial-author-role{font-size:.8rem;color:var(--text-color-dimmed)}.testimonial-card .testimonial-author-role{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.testimonial-date{font-size:.75rem;color:var(--text-color-dimmed)}.testimonial-meta{display:flex;justify-content:space-between;align-items:center;margin-top:1rem}.testimonial-link{font-family:var(--font-default);font-weight:400;font-size:.875rem;line-height:1.375rem;letter-spacing:0;display:inline-flex;align-items:center;gap:.35rem;padding:0;background:none;border:none;color:#15b3bd;text-decoration:none;white-space:nowrap;cursor:pointer}.testimonial-link svg{stroke:#15b3bd;width:1em}.testimonial-link:focus-visible{outline:2px solid rgba(21,179,189,.45);outline-offset:3px}.testimonial-origin{flex-shrink:0;align-self:flex-start;font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;color:rgba(102,128,154,.65)}.testimonial-dialog{width:min(46rem,100vw - 2rem);max-height:min(80vh,44rem);padding:0;background-color:#05121e;border:1px solid rgba(17,42,65,.75);border-radius:12px;color:#8fa8c0}.testimonial-dialog[open]{display:flex;flex-direction:column}.testimonial-dialog::backdrop{background-color:rgba(4,15,24,.9);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}body:has(.testimonial-dialog[open]){overflow:hidden}.testimonial-dialog-close{position:absolute;top:1rem;right:1rem;display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;background:none;border:1px solid rgba(17,42,65,.75);border-radius:50%;color:#bad1e7;cursor:pointer;transition:color .2s ease,border-color .2s ease}.testimonial-dialog-close svg{width:.75rem;height:.75rem}.testimonial-dialog-close:hover{color:#15b3bd;border-color:rgba(21,179,189,.45)}.testimonial-dialog-close:focus-visible{outline:2px solid rgba(21,179,189,.45);outline-offset:2px}.testimonial-dialog-header{display:flex;align-items:center;gap:1rem;padding:1.75rem 4rem 1.25rem 1.75rem;border-bottom:1px solid rgba(17,42,65,.75)}.testimonial-dialog-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.4rem}.testimonial-dialog-quote{font-family:var(--font-default);font-weight:400;font-size:.875rem;line-height:1.375rem;letter-spacing:0;overflow-y:auto;margin:0;padding:1.75rem;white-space:pre-line;font-style:italic;color:#bad1e7}.testimonial-dialog-links{display:flex;flex-wrap:wrap;gap:1.25rem;padding:1.25rem 1.75rem;border-top:1px solid rgba(17,42,65,.75)}.testimonial-dialog-link{font-family:var(--font-default);font-weight:400;font-size:.875rem;line-height:1.375rem;letter-spacing:0;display:inline-flex;align-items:center;gap:.35rem;color:#15b3bd;text-decoration:none;white-space:nowrap}.testimonial-dialog-link svg{stroke:#15b3bd;width:1em}#articles-list{min-height:100vh}#articles-list.horizontal-section{padding:4rem 0}.articles-grid{display:flex;flex-direction:column;gap:1rem;margin-bottom:3rem}.article-card{display:flex;flex-direction:column;gap:.625rem;width:100%;background-color:rgba(5,18,30,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,0);border-radius:8px;padding:1.25rem;text-decoration:none;transition:border-color .25s ease}.article-card:hover{border-color:rgba(21,179,189,.45)}.article-card:focus-visible{border-color:#112a41;outline:2px solid rgba(21,179,189,.45);outline-offset:2px}.article-card-meta{display:flex;align-items:center;gap:.5rem;width:100%;color:#66809a}.article-card-date{font-family:var(--font-default);font-weight:400;font-size:.875rem;line-height:1.375rem;letter-spacing:0}.article-card-dot{font-family:var(--font-default);font-weight:400;font-size:.8125rem;line-height:1.25rem;letter-spacing:0}.article-card-reading-time{font-family:var(--font-default);font-weight:400;font-size:.8125rem;line-height:1.25rem;letter-spacing:0}.article-card-body{display:flex;flex-direction:column;gap:.625rem;width:100%}.article-card-title{font-family:var(--font-headers);font-weight:500;font-size:1.125rem;line-height:1.5rem;letter-spacing:.5px}.article-card-title::before{content:"";width:16px;height:3px;margin:0;padding:0;border-radius:5px;display:inline-flex;flex-shrink:0;background-color:#15b3bd;text-shadow:0 2px 10px rgba(3,8,15,.65)}.article-card-title{display:flex;align-items:center;gap:.6rem;margin:0;color:#bad1e7}.article-card:hover .article-card-title{color:#15b3bd}.article-card-excerpt{font-family:var(--font-default);font-weight:400;font-size:1rem;line-height:1.625rem;letter-spacing:0;color:#8fa8c0;margin:0}.article-card-arrow{display:flex;justify-content:flex-end;width:100%;color:#66809a;transition:transform .2s ease,color .2s ease}.article-card-arrow svg{width:16px}.article-card:hover .article-card-arrow{color:#15b3bd;transform:translateX(3px)}@media(min-width: 744px){.article-card{flex-direction:row;align-items:flex-start;gap:2rem;padding:1.5rem}.article-card-meta{flex-direction:column;align-items:flex-start;gap:.25rem;width:168px;flex-shrink:0}.article-card-dot{display:none}.article-card-body{flex:1 1 0;min-width:0}.article-card-arrow{flex-direction:column;justify-content:center;align-self:stretch;width:16px}}.article-read-next{margin-top:3.5rem;padding-top:3.5rem;border-top:1px solid rgba(17,42,65,.75)}.article-read-next h2{font-family:var(--font-default);font-weight:600;font-size:.8125rem;line-height:1.125rem;letter-spacing:1.5px;text-transform:uppercase;color:#66809a;margin:0 0 .75rem}.article-read-next .articles-grid{margin-bottom:0}#project .project-links{justify-content:flex-start;gap:2rem;margin-top:1.5rem}.project-gallery{display:grid;grid-template-columns:1fr;gap:2rem}.project-gallery figure{margin:0}.project-gallery-trigger{display:block;width:100%;padding:0;background:none;border:0;border-radius:8px;cursor:zoom-in}.project-gallery-trigger:hover img{border-color:rgba(21,179,189,.45)}.project-gallery-trigger:focus-visible{outline:2px solid rgba(21,179,189,.45);outline-offset:2px}.project-gallery img{display:block;width:100%;height:auto;border:1px solid rgba(17,42,65,.75);border-radius:8px;transition:border-color .25s ease}.project-gallery figcaption{font-family:var(--font-default);font-weight:400;font-size:.875rem;line-height:1.375rem;letter-spacing:0;color:#66809a;margin-top:.625rem}@media(min-width: 744px){.project-gallery{grid-template-columns:repeat(2, 1fr)}}
