@layer base, layout, components, utilities, specific;/*! --- E20 SYSTEMS - 2026 STYLE FRAMEWORK --- */@layer base{*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}}@layer layout{html{font-size:18px}body{font-family:"IBM Plex Sans","ui-sans-serif","-apple-system","system-ui","Segoe UI","Helvetica","Apple Color Emoji","Arial","sans-serif","Segoe UI Emoji","Segoe UI Symbol";font-size:1rem;font-weight:350;font-optical-sizing:auto;font-style:normal;color:#161616;-webkit-font-smoothing:antialiased;font-variation-settings:"wdth" 100,"YTLC" 500}input,textarea,label,select{font-family:"IBM Plex Sans","ui-sans-serif","-apple-system","system-ui","Segoe UI","Helvetica","Apple Color Emoji","Arial","sans-serif","Segoe UI Emoji","Segoe UI Symbol";font-size:18px;font-weight:450}main p,main li,main dd,main dt{line-height:1.5em}p{margin:0;hyphens:auto;word-break:auto-phrase}p:not(:last-child){margin:0 0 1rem 0}strong,.strong{font-weight:650}h1,h2{font-weight:550}h1,h2,h3,h4,h5,.font-header{line-height:1.15em;font-family:"IBM Plex Sans","ui-sans-serif","-apple-system","system-ui","Segoe UI","Helvetica","Apple Color Emoji","Arial","sans-serif","Segoe UI Emoji","Segoe UI Symbol";letter-spacing:normal;font-weight:650}h1{font-size:38px;margin-top:0;margin-bottom:.5rem}body.post #page-title h1{margin-bottom:2rem}h2{font-size:24px;margin-top:0;margin-bottom:.5rem}article h2{margin-top:2rem}article h2:first-child{margin-top:0}article h3{font-size:21px;margin-top:2rem;margin-bottom:1rem}h4{font-size:18px;margin-top:1rem;margin-bottom:1rem}hr,h2{border:none;border-bottom:1px solid silver}hr{margin:2rem 0}pre,code{font-family:"JetBrains Mono",ui-monospace,Menlo,Monaco,"Cascadia Mono","Segoe UI Mono","Roboto Mono","Courier New",monospace;font-weight:450;background-color:#f0eee4;font-variation-settings:normal}pre{padding:.5rem 1rem;margin:1rem 0;font-size:14px;overflow-x:auto;line-height:1.5em}code{font-size:14px;padding:2px 5px;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}p code{white-space:nowrap}h2 code{font-size:18px}h3 code{font-size:18px}pre code{background-color:rgba(0,0,0,0);padding:0}blockquote{border-left:3px solid #a5b3c0;margin:1rem 2rem;padding:1rem 0 1rem 1rem;font-size:24px}@media all and (min-width: 768px){h1{font-size:38px}h2{font-size:24px}h3{font-size:21px}.row h2.title{font-size:36px}}}@layer components{.anchor{position:relative;top:calc(-92px + 32px)}@media only screen and (min-width: 768px){.anchor{top:calc(-123px + 32px)}}}@layer components{a{color:#3e619b}a:visited,a:active{color:#6f3f9d}a:hover{color:#7cb2cb}form.form .control .button,button,a.button{display:inline-block;background-color:#3e619b;color:#fafafa;padding:.5rem 1rem;border:none;border-radius:4px;text-decoration:none;cursor:pointer;font-family:"IBM Plex Sans","ui-sans-serif","-apple-system","system-ui","Segoe UI","Helvetica","Apple Color Emoji","Arial","sans-serif","Segoe UI Emoji","Segoe UI Symbol";font-weight:450;font-size:21px;letter-spacing:normal}form.form .control .button .arrow,button .arrow,a.button .arrow{padding-left:1rem}@media all and (min-width: 768px){form.form .control .button,button,a.button{padding:.5rem 4rem}form.form .control .button:hover,button:hover,a.button:hover{background-color:#2c456e}}}@layer components{form.form{border-radius:16px}form.form input,form.form textarea,form.form label,form.form select{color:#161616;width:100%;cursor:pointer}form.form input:focus,form.form textarea:focus,form.form label:focus,form.form select:focus{outline:none}form.form input,form.form textarea,form.form select{background-color:#dee3e8}form.form label.strong{font-weight:650;text-transform:uppercase}form.form .control input,form.form .control textarea,form.form .control select{border-radius:8px;border:none;padding:1rem;box-sizing:border-box}form.form .control input[type=submit]{width:auto}form.form .control.control-submit{padding-top:2rem;text-align:center}form.form .control:not(:last-child){margin-bottom:.5rem}form.form .controls-grid:not(:last-child){margin-bottom:1rem}form.form .controls-grid .controls-grid-title{margin-bottom:.5rem}form.form .controls-grid .control:not(:last-child){margin-bottom:.5rem}form.form .control-select select{margin-top:.5rem}form.form .checkbox-container{display:block;position:relative;padding-left:2rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}form.form .checkbox-container input{position:absolute;opacity:0;height:0;width:0}form.form .checkbox-container input:checked~.checkmark{background-color:#fafafa}form.form .checkbox-container input:checked~.checkmark:after{display:block}form.form .checkbox-container .checkmark{position:absolute;top:0;left:0;height:20px;width:25px;border-radius:8px;border:1px solid #3e619b;pointer-events:none}form.form .checkbox-container .checkmark:after{content:"";position:absolute;display:none;left:9px;top:2px;width:5px;height:10px;border-style:solid;border-color:#dee3e8;border-width:0 3px 3px 0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}form.form .checkbox-container:hover input~.checkmark{background-color:#a5b3c0}}@layer components{ul{list-style-type:square;padding-left:1rem}ol{padding-left:2rem}ul,ol{margin-bottom:1rem}li{margin-bottom:.5rem}ul ul,ol ol{margin-top:.5rem}ul.plain{list-style-type:none;padding-left:0}ul.inline{display:flex;flex-direction:row;flex-wrap:wrap;gap:1rem;list-style-type:none;padding:0;margin:0}ul.inline li{margin-bottom:0}dt,dl{margin-top:1rem;margin-bottom:1rem}dt{font-weight:650}}@layer components{ul.social a{width:40px;height:40px;border:1px solid silver;border-radius:50%;padding:6px}}.highlight .k{color:#d73a49}.highlight .s{color:#032f62}.highlight .c{color:#6a737d;font-style:italic}.highlight .n{color:#24292e}.highlight .o{color:#d73a49}@layer layout{.flex{display:flex;gap:1rem}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-grow{flex-grow:1}.flex-shrink{flex-shrink:1}.justify-space-between{justify-content:space-between}.justify-content-center{justify-content:center}.align-items-center{align-items:center}.align-items-end{align-items:end}.grid{display:grid;grid-template-columns:auto}.dis-inline-block{display:inline-block}.dis-block{display:block}.pos-relative{position:relative}.pos-absolute{position:absolute}.pos-fixed{position:fixed}@media only screen and (max-width: 575px){.m-flex{display:flex}.m-flex-row{flex-direction:row}.m-flex-row-reverse{flex-direction:row-reverse}.m-flex-col{flex-direction:column}.m-flex-col-reverse{flex-direction:column-reverse}.m-flex-wrap{flex-wrap:wrap}.m-flex-grow{flex-grow:1}.m-flex-shrink{flex-shrink:1}.m-justify-space-between{justify-content:space-between}.m-justify-content-center{justify-content:center}.m-align-items-center{align-items:center}.m-align-items-end{align-items:end}.m-grid{display:grid}.m-grid-3col{grid-template-columns:1fr 1fr 1fr}}@media only screen and (min-width: 576px){.t-flex{display:flex}.t-flex-row{flex-direction:row}.t-flex-row-reverse{flex-direction:row-reverse}.t-flex-col{flex-direction:column}.t-flex-col-reverse{flex-direction:column-reverse}.t-flex-wrap{flex-wrap:wrap}.t-flex-grow{flex-grow:1}.t-flex-shrink{flex-shrink:1}.t-justify-space-between{justify-content:space-between}.t-justify-content-center{justify-content:center}.t-align-items-center{align-items:center}.t-align-items-end{align-items:end}.t-grid{display:grid}.t-grid-3col{grid-template-columns:1fr 1fr 1fr}}@media only screen and (min-width: 768px){.d-flex{display:flex}.d-flex-row{flex-direction:row}.d-flex-row-reverse{flex-direction:row-reverse}.d-flex-col{flex-direction:column}.d-flex-col-reverse{flex-direction:column-reverse}.d-flex-wrap{flex-wrap:wrap}.d-flex-grow{flex-grow:1}.d-flex-shrink{flex-shrink:1}.d-justify-space-between{justify-content:space-between}.d-justify-content-center{justify-content:center}.d-align-items-center{align-items:center}.d-align-items-end{align-items:end}.d-grid{display:grid}.d-grid-2col{grid-template-columns:1fr 1fr}.d-grid-3col{grid-template-columns:1fr 1fr 1fr}}}@layer layout{#nav{top:0;z-index:990}#nav #nav__inner{height:92px;transition:height .2s ease}#nav__logo svg{width:72px;height:44px;transition:height .2s ease,width .2s ease}#nav__hint{top:50%;transform:translateY(-50%);right:1rem;padding:.25rem}#nav__hint svg{width:32px;height:32px;fill:#fafafa;transition:height .2s ease,width .2s ease}#nav__links a{text-decoration:none;font-size:18px;transition:font-size .2s ease}#nav.scrolled #nav__inner{height:61.5px}#nav.scrolled #nav__logo svg{height:29.3333333333px;width:48px}#nav.scrolled #nav__hint svg{height:26px;width:26px}@media only screen and (min-width: 768px){#nav #nav__inner{height:123px}#nav__logo svg{width:96px;height:59px}#nav__links a{padding:.25rem .5rem}#nav__links a:hover{border-bottom:3px solid #3e619b}#nav.scrolled #nav__logo svg{height:29.5px;width:48px}#nav.scrolled #nav__links a{font-size:1rem;padding:.5rem}}}@layer layout{.modal{position:fixed;z-index:998;left:0;top:0;width:100%;height:100%;background-color:#fff;overflow:auto;-webkit-overflow-scrolling:touch;padding:1rem}#nav__modal__close{position:fixed;top:.5rem;right:.5rem;z-index:999;background-color:#fff;border-radius:50%;padding:6px}#nav__modal__close svg{height:32px;width:32px}}@layer layout{body{margin:0;padding:0;color:#161616}body.modal-open{overflow:hidden}#main-content{padding-top:2rem;padding-bottom:2rem}@media all and (min-width: 768px){#main-content{padding-top:3rem;padding-bottom:3rem}}}@layer layout{.row,.hero{border-top:1px solid rgba(0,0,0,0)}.row{padding:2rem 0}.row .row-title{margin-bottom:2rem}.row section:not(:last-child){margin-bottom:2rem}.row.rowgroup-middle{padding-top:0}.row.rowgroup-bottom{padding-top:0}}@layer layout{footer{padding:2rem 0;color:#fafafa}}@layer layout{@media all and (min-width: 768px){footer{padding:4rem 0}}}@layer utilities{.white{color:#fff}.fill-white{fill:#fff}.bg-white{background-color:#fff}.black{color:#000}.fill-black{fill:#000}.bg-black{background-color:#000}.pot-black{color:#161616}.fill-pot-black{fill:#161616}.bg-pot-black{background-color:#161616}.off-black{color:#303030}.fill-off-black{fill:#303030}.bg-off-black{background-color:#303030}.dr-white{color:#fafafa}.fill-dr-white{fill:#fafafa}.bg-dr-white{background-color:#fafafa}.silver{color:silver}.fill-silver{fill:silver}.bg-silver{background-color:silver}.shadow-mountain{color:#575757}.fill-shadow-mountain{fill:#575757}.bg-shadow-mountain{background-color:#575757}.raftsman{color:#3e619b}.fill-raftsman{fill:#3e619b}.bg-raftsman{background-color:#3e619b}.raftsman-light{color:#c6d2e6}.fill-raftsman-light{fill:#c6d2e6}.bg-raftsman-light{background-color:#c6d2e6}.raftsman-dark{color:#2c456e}.fill-raftsman-dark{fill:#2c456e}.bg-raftsman-dark{background-color:#2c456e}.poppy-pompadour{color:#6f3f9d}.fill-poppy-pompadour{fill:#6f3f9d}.bg-poppy-pompadour{background-color:#6f3f9d}.frisky-blue{color:#7cb2cb}.fill-frisky-blue{fill:#7cb2cb}.bg-frisky-blue{background-color:#7cb2cb}.night-tide{color:#465462}.fill-night-tide{fill:#465462}.bg-night-tide{background-color:#465462}.grey-agate{color:#a5b3c0}.fill-grey-agate{fill:#a5b3c0}.bg-grey-agate{background-color:#a5b3c0}.bleached-white{color:#dee3e8}.fill-bleached-white{fill:#dee3e8}.bg-bleached-white{background-color:#dee3e8}.canyon-cliffs{color:#ece3d1}.fill-canyon-cliffs{fill:#ece3d1}.bg-canyon-cliffs{background-color:#ece3d1}.marshmallow{color:#f0eee4}.fill-marshmallow{fill:#f0eee4}.bg-marshmallow{background-color:#f0eee4}.highlighted-text{color:#f9f973}.fill-highlighted-text{fill:#f9f973}.bg-highlighted-text{background-color:#f9f973}.primary{color:#3e619b}.fill-primary{fill:#3e619b}.bg-primary{background-color:#3e619b}.text{color:#161616}.fill-text{fill:#161616}.bg-text{background-color:#161616}.text-light{color:#fafafa}.fill-text-light{fill:#fafafa}.bg-text-light{background-color:#fafafa}.surface-light{color:#fafafa}.fill-surface-light{fill:#fafafa}.bg-surface-light{background-color:#fafafa}.surface-dark{color:#303030}.fill-surface-dark{fill:#303030}.bg-surface-dark{background-color:#303030}.rule{color:silver}.fill-rule{fill:silver}.bg-rule{background-color:silver}.link-visited{color:#6f3f9d}.fill-link-visited{fill:#6f3f9d}.bg-link-visited{background-color:#6f3f9d}.link-hover{color:#7cb2cb}.fill-link-hover{fill:#7cb2cb}.bg-link-hover{background-color:#7cb2cb}}@layer utilities{.font-size-tiny{font-size:12px}.font-size-code{font-size:14px}.font-size-caption{font-size:15px}.font-size-body{font-size:18px}.font-size-lead{font-size:21px}.font-size-title{font-size:24px}.font-size-post-title{font-size:38px}.font-size-hero{font-size:48px}.font-weight-light{font-weight:250}.font-weight-regular{font-weight:350}.font-weight-medium{font-weight:450}.font-weight-semibold{font-weight:550}.font-weight-bold{font-weight:650}.font-weight-normal{font-weight:350}}@layer utilities{.m-0{margin:0}.p-0{padding:0}.p-4{padding:1rem}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-12{gap:3rem}.gap-16{gap:4rem}@media all and (max-width: 575px){.m-gap-0{gap:0}.m-gap-1{gap:.25rem}.m-gap-2{gap:.5rem}.m-gap-4{gap:1rem}.m-gap-6{gap:1.5rem}.m-gap-8{gap:2rem}.m-gap-12{gap:3rem}.m-gap-16{gap:4rem}}@media all and (min-width: 576px){.t-gap-0{gap:0}.t-gap-1{gap:.25rem}.t-gap-2{gap:.5rem}.t-gap-4{gap:1rem}.t-gap-6{gap:1.5rem}.t-gap-8{gap:2rem}.t-gap-12{gap:3rem}.t-gap-16{gap:4rem}}@media all and (min-width: 768px){.d-gap-0{gap:0 !important}.d-gap-1{gap:.25rem !important}.d-gap-2{gap:.5rem !important}.d-gap-4{gap:1rem !important}.d-gap-6{gap:1.5rem !important}.d-gap-8{gap:2rem !important}.d-gap-12{gap:3rem !important}.d-gap-16{gap:4rem !important}}}@layer utilities{.body-width{padding-left:1rem;padding-right:1rem}@media only screen and (min-width: 768px){.body-width{max-width:1100px;margin:0 auto}}}@layer utilities{.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.w-full{width:100%}.h-full{height:100%}.border-light{border:1px solid #dee3e8}.border-dark{border:1px solid #a5b3c0}.border-radius-base{border-radius:16px}.border-radius-half{border-radius:8px}.border-radius-quarter{border-radius:4px}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.no-underline{text-decoration:none}.hide{display:none}.zeroed{font-size:0;line-height:0}.mt-0{margin-top:0}.my-0{margin-block:0}.mx-0{margin-inline:0}@media only screen and (max-width: 575px){.m-text-left{text-align:left}.m-text-center{text-align:center}.m-text-right{text-align:right}.m-uppercase{text-transform:uppercase}.m-lowercase{text-transform:lowercase}.m-hide{display:none}.m-w-full{width:100%}.m-gap-0{gap:0}}@media only screen and (min-width: 576px)and (max-width: 767px){.t-text-left{text-align:left}.t-text-center{text-align:center}.t-text-right{text-align:right}.t-uppercase{text-transform:uppercase}.t-lowercase{text-transform:lowercase}.t-hide{display:none}.t-gap-0{gap:0}}@media only screen and (min-width: 768px){.d-text-left{text-align:left}.d-text-center{text-align:center}.d-text-right{text-align:right}.d-uppercase{text-transform:uppercase}.d-lowercase{text-transform:lowercase}.d-hide{display:none}.d-gap-0{gap:0}.d-gap-2{gap:.5rem}.d-gap-8{gap:2rem}}}@layer specific{html{background-color:#303030}body{padding-top:88px}@media only screen and (min-width: 576px){#nav__links a{color:silver}#nav__links a:hover{color:#fff}}@media only screen and (min-width: 768px){body{padding-top:119px}#footer a:hover{color:#fafafa}#footer__social>li>a{border-color:#575757}#footer__social>li:hover>a{background-color:#fafafa;border-color:#fafafa}#footer__social>li:hover>a svg{fill:#303030}}}@layer specific{.card{border-width:1px;border-style:solid}.card.border-left-embellish{border-left:3px solid #a5b3c0}main section,aside section{margin-bottom:2rem}main section:last-of-type:not(:only-of-type),aside section:last-of-type:not(:only-of-type){margin-bottom:0}#main-content a{font-weight:450}#page-title{padding-bottom:2rem}body.post #page-title{margin-bottom:2rem;border-bottom:1px solid silver}.star-ratings .numeral{margin-right:.5rem}.star-ratings .stars{color:#a5b3c0}@media only screen and (min-width: 768px){aside{padding-left:1rem;border-left:1px solid silver}ul.post-list .post-date{width:4rem;min-width:4rem}}}@layer specific{body.homepage .hero{display:flex;justify-content:center;background-color:#00152e;height:20rem;overflow:hidden;padding:0}body.homepage .hero .hero-image{background-image:url("/assets/images/layout/gaelan-lloyd-2024-05-c-3.webp");aspect-ratio:1.5705;background-size:cover;background-position:center center;height:100%}body.homepage #main-content{padding-top:2rem}@media only screen and (max-width: 575px){body.homepage .hero .hero-image{position:relative;left:7%}}@media only screen and (min-width: 768px){body.homepage h1{font-size:48px}body.homepage .hero{height:31rem}body.homepage #main-content{padding-top:2rem}}}@layer specific{figure{margin:0 0 2rem 0}figure img{margin-bottom:.5rem}figure figcaption{font-size:15px}#main-content img{max-width:100%}@media only screen and (min-width: 768px){.post-featured-image{max-width:450px}}}@layer specific{.card .image{width:100%;aspect-ratio:1.666;background-size:cover}}@layer specific{ul.project-tags li{padding:2px 4px}}@layer specific{table{border-collapse:collapse;margin-bottom:1rem}table.table{display:block;overflow:auto}table.center-contents td{text-align:center}th,td{border:1px solid #a5b3c0;padding:.5em 1em;text-align:left}thead th{border-bottom-width:2px}tfoot th,tfoot td{border-top-width:3px}th{background-color:#dee3e8}table.table-vertical th{border-right:2px solid #000;border-bottom:1px solid "grey-agate"}.table-ratings .ratings-title{width:50%}.table-ratings .ratings{width:16.6%}}@layer specific{.highlighted{background-color:#f9f973;padding:0 .25rem}}@layer specific{.alert{padding:1rem;border-width:1px;border-style:solid;margin-bottom:1rem}.alert *:last-child{margin-bottom:0}.alert-notice{background-color:#ffe6e6;border-color:#f33}.alert-notice pre,.alert-notice code{background-color:#ecc6d9}.alert-info{background-color:#b3e6ff;border-color:#6cf}.alert-info pre,.alert-info code{background-color:#a8c9eb}}@layer specific{#nav__modal{position:fixed;padding:2rem 1rem;background:#303030;background:linear-gradient(135deg, #575757 30%, #161616 100%);overflow:hidden}#nav__modal a{color:#c6d2e6}#nav__modal #nav__modal__close{background-color:rgba(0,0,0,0)}#nav__modal #nav__modal__close svg{fill:#fafafa}#nav__modal ul.links-nav li{padding:1rem 2rem;background-color:rgba(0,0,0,.2);border-radius:16px;box-shadow:0px 0px 20px 2px rgba(128,128,128,.3)}#nav__modal .social a{border-color:#fafafa;width:52px;height:52px}#nav__modal .social a svg{fill:#fafafa}#nav__modal #nav__modal__logo{z-index:-999;pointer-events:none;position:fixed;inset:0;width:100vw;height:100%;pointer-events:none}#nav__modal #nav__modal__logo .drift{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);transform-origin:center;animation:drift 56s ease-in-out infinite alternate}#nav__modal #nav__modal__logo .logo{width:200vw;transform-origin:center;opacity:.075}#nav__modal #nav__modal__logo .logo-1 .logo{animation:slow-rotate-1 14s ease-in-out infinite}#nav__modal #nav__modal__logo .logo-2 .logo{width:160vw;opacity:.05;animation:slow-rotate-2 14s ease-in-out infinite}#nav__modal #nav__modal__logo .logo-3 .logo{width:120vw;opacity:.025;animation:slow-rotate-3 14s ease-in-out infinite}@keyframes slow-rotate{}@keyframes slow-rotate-1{0%{transform:rotate(0deg)}5%{transform:rotate(0deg)}50%{transform:rotate(180deg) scale(1.5);filter:blur(8px)}55%{transform:rotate(180deg) scale(1.5);filter:blur(8px)}100%{transform:rotate(360deg)}}@keyframes slow-rotate-2{0%{transform:rotate(0deg)}10%{transform:rotate(0deg)}50%{transform:rotate(180deg) scale(1.5);filter:blur(8px)}60%{transform:rotate(180deg) scale(1.5);filter:blur(8px)}100%{transform:rotate(360deg)}}@keyframes slow-rotate-3{0%{transform:rotate(0deg)}15%{transform:rotate(0deg)}50%{transform:rotate(180deg) scale(1.5);filter:blur(8px)}65%{transform:rotate(180deg) scale(1.5);filter:blur(8px)}100%{transform:rotate(360deg)}}@keyframes drift{0%{transform:translate(-85%, -50%)}10%{transform:translate(-85%, -50%)}50%{transform:translate(-15%, -50%)}60%{transform:translate(-15%, -50%)}100%{transform:translate(-85%, -50%)}}}/*# sourceMappingURL=screen.css.map */