@import url("https://use.typekit.net/msi0oop.css");*{font-family:byker,sans-serif;font-weight:400;font-style:normal;box-sizing:border-box}#root,body,html{height:100%;background-color:var(--bg-2-color);color:var(--font-color)}.App{display:flex;flex-direction:column;min-height:100%}.App_main{flex:1 0 auto}strong{font-weight:700}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}p a{color:#fff}:root{--bg-2-color:#1f3b42;--background-color:#2a5159;--font-color:#aaf7ff;--header-color:#333;--main-color:#367373;--second-color:#50b4bf;--third-color:#b4d9d5;--fourth-color:#eff8c4;--highlight-color:#b4d9d5;--highlight-a-color:rgba(180,217,214,.45)}h1,h2,li,ul{margin:0;padding:0}a,a:active,a:focus,a:hover,a:link{color:unset;text-decoration:unset}.home{width:75%;margin:2em auto;padding:2em;border-radius:2em;box-shadow:0 0 4px var(--third-color);position:relative;opacity:1;color:var(--third-color);transition:all .2s linear}.home,.home_container article{display:flex;justify-content:center}.home_container article{flex:50%;flex-direction:column;align-items:flex-start;height:100%;margin:1rem 2rem}.home_container a{text-decoration:underline;color:var(--second-color)}.home_container a:hover{text-decoration:none}.home_container .home_cta_link{text-decoration:none;color:var(--second-color)}.profile_picture_container{display:flex;justify-content:center;align-items:center;flex-direction:column;padding:1em;flex-shrink:0}.home_container{display:flex;flex-direction:row;width:100%;z-index:2;align-items:flex-start;flex:40% 1 1;padding-top:8px}.home:after{background-color:var(--background-color);content:"";background-size:contain;position:absolute;top:0;left:0;right:0;bottom:0;z-index:0;border-radius:2em;opacity:.4;transition:all .2s linear}.home img{border-radius:50%}.profile_pic{width:94%;max-width:351px;height:auto!important;aspect-ratio:1;object-fit:cover}.download_resume{text-align:center;font-size:.5em}@media (max-width:700px){.home_container,div.home{flex-direction:column}div.home{margin:.8em auto;gap:.8em;padding:.5em}.profile_pic{width:50%;max-width:200px;animation:animate_pic_r 1.2s linear .1s 1}div.greeting{font-size:1.3em}div.social{padding:2em 0;margin:0 auto}div.social div{padding:.4em}div.skills_icons{font-size:1.1em}div.skill_name{font-size:1.3em}}@media screen and (min-width:701px) and (max-width:900px){.home .greeting{font-weight:200;font-size:1.8em;text-align:center}div.skills{margin-top:1.5em;font-size:1.3em}}.social{flex:0 1 auto;padding:1.2em;display:flex;flex-direction:column;margin:auto;justify-content:center;align-items:center}.social div{padding:.2em;flex:1 1 40%}.container_resume{height:100%}.container_resume,.social_icons{display:flex;align-items:center;justify-content:center;font-size:2em}.social_icons{flex-wrap:wrap;max-width:8em;gap:1em;transition:all .35s ease-in}.social_icons .coffeebreak{width:100%;height:20%;display:flex;justify-content:center}.social_icons>:hover{color:var(--highlight-color);cursor:pointer}.greeting{font-size:1.5em}h1.andrew-dotterer{display:inline-block;font-size:1em}.skills{margin-top:3em;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:1.6em}.skills_icons{font-size:2em;display:flex;gap:.6em}.hr_gradient{border:0;outline:0;height:2px;margin:1.5em 5% 0;background-image:linear-gradient(90deg,var(--bg-2-color),var(--third-color),var(--bg-2-color))}.skill_icon{opacity:1;transition:all .2s linear}.hidden,.icon_hidden{opacity:0;width:0;height:0}.visible{opacity:1}.skill_name{height:100%;padding:1.4em 0;transition:opacity .25s ease-in;font-size:1.4em}.bio-text{font-size:1.1em;line-height:1.6em}h1.andrew-dotterer{display:block;font-size:1.8em;font-weight:700;color:var(--third-color);letter-spacing:-.02em;margin:0 0 .4em}.home_cta_row{display:flex;flex-wrap:wrap;align-items:center;gap:1em 1.5em;margin-top:1.4em}.home_cta_link{display:inline-flex;align-items:center;gap:.45em;font-size:1em;color:var(--second-color);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s ease,color .15s ease;padding-bottom:.05em}.home_cta_link:hover{color:var(--third-color);border-bottom-color:var(--third-color)}.home_cta_icon{font-size:.9em;flex-shrink:0}.home_featured{width:84%;max-width:1100px;margin:2em auto 4em;padding:0 1em}.home_featured_heading{font-size:1.5em;font-weight:700;color:var(--third-color);margin:0 0 1em;letter-spacing:-.01em}.home_featured_all{margin:1.5em 0 0}.home_featured_link{color:var(--second-color);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s ease,color .15s ease;padding-bottom:.05em}.home_featured_link:hover{color:var(--third-color);border-bottom-color:var(--third-color)}header{color:var(--third-color);padding:.4em;display:flex;height:30%;margin-bottom:1.3em;position:relative;box-shadow:0 0 2px var(--third-color)}header,header *{z-index:2}header:before{background:linear-gradient(36deg,var(--background-color),var(--second-color),var(--main-color));content:"";background-size:cover;position:absolute;top:0;left:0;right:0;bottom:0;z-index:0;pointer-events:none;opacity:.45}@keyframes animate_background{0%{background-position-y:0}to{background-position-y:100%}}header:after{animation:animate_background 20s linear infinite;background-image:url(/_next/static/media/binary.68136dc2.png);content:"";background-size:26rem;position:absolute;top:0;left:0;right:0;bottom:0;z-index:0;pointer-events:none;transition:all 1s linear;opacity:.04}header>nav{flex:1 2 50%;display:flex;align-items:center;position:relative;z-index:1}header>nav>ul,header>ul{display:flex;flex:1;justify-content:space-around;align-items:center}header>nav>ul>li,header>ul>li{list-style-type:none;padding:0;transition:background-color .15s linear;border-radius:.6em;font-size:1.35em}header>nav>ul>li a,header>ul>li a{display:block;padding:.5em;color:inherit;text-decoration:none;border-radius:.6em;transition:background-color .15s linear;touch-action:manipulation}header>nav>ul>li a:hover,header>ul>li a:hover{background-color:var(--highlight-a-color);cursor:pointer}.name_title{flex:2 1 30%;padding:.4em;align-items:center;flex-direction:column;justify-content:space-evenly}.name_title,.name_title div{display:flex}.name_title h1,.name_title h2{text-align:center}.name_title h2{font-size:1.2em;font-weight:100}@media screen and (max-width:700px){header{flex-direction:column;padding:.2em}.name_title{text-align:center;padding-bottom:.6em}.name_title>h1{font-size:1.4em}.name_title h2{font-size:.9em}header>nav>ul,header>ul{max-width:100vw;flex-wrap:wrap}header>nav>ul>li,header>ul>li{list-style-type:none;padding:0;transition:all .15s linear;border-radius:.6em;font-size:1em;white-space:nowrap}header>nav>ul>li a,header>ul>li a{padding:.4em .35em}}#site_footer{margin-top:4em;padding:1.4em 2em;border-top:1px solid rgba(180,217,213,.12);display:flex;justify-content:center;align-items:center;gap:1.6em;flex-wrap:wrap}#footer_social{display:flex;gap:1em;font-size:1.4em}#footer_social a{color:var(--third-color);opacity:.6;transition:opacity .15s ease}#footer_social a:hover{opacity:1}#footer_copy{font-size:.8em;color:var(--font-color);opacity:.4}@media (max-width:700px){#site_footer{flex-direction:column;gap:.8em;padding:1.2em 1em}}.container{display:inline-flex;flex-direction:column;gap:.6em;margin:1em .5em;padding:1em;border-radius:1.4em;box-shadow:0 0 4px var(--third-color);position:relative;opacity:1;color:var(--third-color)}.container *{border-radius:1.4em;z-index:2}.container:after{background-color:var(--background-color);content:"";background-size:contain;position:absolute;top:0;left:0;right:0;bottom:0;z-index:0;border-radius:1.4em;opacity:.4}.projects_container{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;margin:0 auto;width:80%}.projects_container a{text-decoration:underline;color:#fff}.projects_container a:hover{text-decoration:none}.feature{margin-bottom:1em;min-height:10em;max-height:10em;position:relative;overflow:hidden;transition:all .5s linear}.feature.grow:hover{max-height:22em;transition:all .5s linear}.feature img{width:100%}.projects_container .tech{display:flex;gap:.4em;justify-content:center}.tech span.badges{display:inline-flex;flex-wrap:wrap;justify-content:center}.feature_link_icons{transition:all .25s ease-in-out;display:flex;justify-content:space-around;align-items:center;position:absolute;top:0;right:0;left:0;bottom:0;font-size:4.15em;border-radius:unset;opacity:0}.feature_link_icons:hover{opacity:1;background-color:rgba(0,0,0,.4)}.feature_link_icons svg{background-color:var(--third-color);padding:.1em;color:var(--bg-2-color);opacity:.4;transition:all .25s ease-in-out}.feature_link_icons svg:hover{opacity:1;cursor:pointer}.projects_container .description{font-size:.8em}.projects_container .description ul{margin-left:15px}@media (max-width:700px){.projects_container{grid-template-columns:repeat(1,1fr);width:90%}.feature_link_icons{opacity:1}.feature_link_icons svg{opacity:.7;box-shadow:0 0 3px #000}}.project_card_links{display:flex;flex-wrap:wrap;gap:1em 1.2em;margin-top:.5em}.project_card_link{display:inline-flex;align-items:center;gap:.4em;font-size:.9em;color:var(--second-color);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s ease,color .15s ease;padding-bottom:.05em}.project_card_link:hover{color:var(--third-color);border-bottom-color:var(--third-color)}.project_card_link_button{background:none;border:none;cursor:pointer;font:inherit;padding:0}.project_card_link_icon{font-size:1em;flex-shrink:0}.project_card_image{border-radius:.5em;overflow:hidden;margin:-.2em 0 .2em;background:rgba(0,0,0,.1)}.project_card_img{width:100%;height:auto;display:block;object-fit:cover}.readme_modal_overlay{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;padding:1.5em}.readme_modal_panel{background:var(--background-color);border:1px solid rgba(180,217,213,.25);border-radius:1em;max-width:42em;width:100%;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 0 40px rgba(0,0,0,.4)}.readme_modal_header{display:flex;align-items:center;justify-content:space-between;padding:1em 1.2em;border-bottom:1px solid rgba(180,217,213,.2);flex-shrink:0}.readme_modal_title{font-size:1.1em;font-weight:700;color:var(--third-color);margin:0}.readme_modal_close{background:none;border:none;color:var(--font-color);font-size:1.6em;line-height:1;cursor:pointer;padding:0 .2em;opacity:.9}.readme_modal_close:hover{opacity:1;color:var(--third-color)}.readme_modal_body{padding:1.2em;overflow:auto;flex:1;min-height:0}.readme_modal_error,.readme_modal_loading{margin:0;color:var(--font-color);opacity:.9}.readme_modal_error{color:var(--destructive,#c66)}.readme_modal_md{font-size:.92em;line-height:1.6;color:var(--font-color)}.readme_modal_md h1,.readme_modal_md h2,.readme_modal_md h3{color:var(--third-color);font-weight:700;margin:1.2em 0 .5em}.readme_modal_md h1:first-child,.readme_modal_md h2:first-child,.readme_modal_md h3:first-child{margin-top:0}.readme_modal_md h1{font-size:1.35em}.readme_modal_md h2{font-size:1.15em}.readme_modal_md h3{font-size:1.05em}.readme_modal_md p{margin:0 0 .75em}.readme_modal_md ol,.readme_modal_md ul{margin:0 0 .75em;padding-left:1.5em}.readme_modal_md li{margin:.2em 0}.readme_modal_md code{font-size:.9em;background:rgba(80,180,191,.15);border:1px solid rgba(80,180,191,.3);border-radius:.3em;padding:.15em .4em;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace}.readme_modal_md pre{margin:.75em 0;padding:1em;background:rgba(0,0,0,.2);border-radius:.5em;overflow-x:auto}.readme_modal_md pre code{background:none;border:none;padding:0}.readme_modal_md a{color:var(--second-color);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s ease,color .15s ease}.readme_modal_md a:hover{color:var(--third-color);border-bottom-color:var(--third-color)}.readme_modal_md table{width:100%;border-collapse:collapse;margin:.75em 0;font-size:.95em}.readme_modal_md td,.readme_modal_md th{border:1px solid rgba(180,217,213,.25);padding:.4em .6em;text-align:left}.readme_modal_md th{color:var(--third-color);font-weight:600}.readme_modal_md blockquote{margin:.75em 0;padding-left:1em;border-left:3px solid rgba(80,180,191,.5);opacity:.95}.readme_modal_md hr{border:none;border-top:1px solid rgba(180,217,213,.2);margin:1.25em 0}.music_page{width:84%;max-width:1100px;margin:0 auto 4em;padding:0 1em}.music_intro{margin-top:.5em;margin-bottom:1.5em;line-height:1.5;color:var(--second-color,#333)}.music_group{margin-bottom:2em}.music_group_composer{font-size:1.25em;margin-bottom:.25em;font-weight:600}.music_group_performers{font-size:.9em;color:var(--second-color,#555);margin-bottom:.75em}.music_container{display:grid;margin:.5em auto 0;grid-template-columns:repeat(2,1fr);gap:1em}.music_group_grid{margin-top:.5em}.music_group_grid .container:last-child:nth-child(odd){grid-column:1/-1}.music_duration{font-size:.85em;color:var(--second-color,#666);margin-left:.5em}.composer{font-size:.9em}.audio_title{font-size:1.1em}.audio__player{cursor:pointer;display:inline-flex;align-items:center;gap:.5em}.audio__play_icon,.audio__player svg{width:2rem;height:2rem;min-width:2rem;min-height:2rem;color:var(--second-color,#444);opacity:.85;transition:opacity .2s ease,transform .2s ease,color .2s ease}.audio__player:hover .audio__play_icon,.audio__player:hover svg{opacity:1;transform:scale(1.05);color:var(--highlight-color,var(--second-color))}.audio__player .hidden{position:absolute;width:0;height:0;opacity:0;pointer-events:none}@media (max-width:700px){.music_container{grid-template-columns:1fr;width:fit-content}.music_group_grid .container:last-child:nth-child(odd){grid-column:1}.music_container .container{justify-content:center;align-items:center}}.coffeecontainer{display:flex;align-items:center;justify-content:center;height:100%}.coffeecontainer img{height:3em}.tech_feature{padding:1em;font-size:.8em;display:inline-block;text-align:center}.tech_feature label{display:block;padding-top:.5em;font-weight:300;font-style:normal}.feature_icon{font-size:6vw}.feature_icon label{background-color:#fff}.learnFeatureDiv{display:flex;flex-direction:row;margin:0 3em;color:var(--third-color);gap:.7em}.learnFeatureDiv>div:first-child{display:flex;flex:1 2 30%;flex-wrap:wrap;font-family:bd-brick,sans-serif;font-weight:500;font-style:normal;align-items:center;justify-content:space-around}.learnFeatureDiv>div:nth-child(2){flex:1 1 60%}#fiverr_img_container{display:flex;justify-content:center;margin:1em auto;position:relative}.fiverr_feature_poster{opacity:.4;border-radius:1.5em}a.fiverr_icon{position:absolute;align-items:center;display:flex;bottom:0;top:0}span.fiverr_icon:hover{cursor:pointer}.fiverr_icon *{transition:all .2s linear;color:#30bf73}.fiverr_icon :first-child{font-size:5em}.fiverr_icon :nth-child(2){font-size:7em}.fiverr_icon:hover :first-child{font-size:6em}.fiverr_icon:hover :nth-child(2){font-size:8em}div.social_icons.center{margin:1em 0;display:flex;max-width:unset;justify-content:center}.blurred-box{position:relative;background:inherit;overflow:hidden;border-radius:1em}.blurred-box:after{content:"";width:100%;height:100%;background:inherit;position:absolute;top:0;right:0;left:0;border-radius:2em;bottom:0;box-shadow:inset 0 0 0 200px hsla(0,0%,100%,.05);filter:blur(10px)}.learn_article{padding:.9em;margin:0 0 .5em}.learn_article p{text-align:justify}.learn_article h3{margin:0;padding:0}@media (max-width:700px){.learnFeatureDiv{margin:0}.learnFeatureDiv>div:first-child{flex:1 1 18%}}.solutions_container{margin:0 auto;width:80%}.solutions_container .container{width:100%}.solutions_container li{margin-top:6px}.solutions_container .description{font-size:1em}.solutions_container .projects_container{width:100%;gap:29px}.proto_link{margin:10px auto;color:#fff}.price{display:block;margin-top:10px}.capabilities_page{width:84%;max-width:1100px;margin:0 auto 4em;padding:0 1em}.capabilities_header{display:flex;flex-direction:column;height:auto;padding:1em 1.8em .9em;border-bottom:1px solid rgba(180,217,213,.18);margin-bottom:1.5em;box-shadow:none}.capabilities_heading{font-size:2em;font-weight:700;color:var(--third-color);margin:0 0 .4em;letter-spacing:-.01em}.capabilities_subheading{font-size:1.05em;line-height:1.6em;color:var(--font-color);margin:0;opacity:.8;max-width:60ch}.capabilities_grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4em}.capability_card{background-color:var(--background-color);border:1px solid rgba(180,217,213,.12);border-radius:1em;padding:1.8em 1.8em 1.6em;display:flex;flex-direction:column;gap:.7em;transition:border-color .2s ease,box-shadow .2s ease}.capability_card:hover{border-color:rgba(180,217,213,.35);box-shadow:0 0 18px rgba(80,180,191,.1)}.capability_icon{font-size:1.8em;line-height:1;margin-bottom:.1em}.capability_title{font-size:1.15em;font-weight:700;color:var(--third-color);margin:0;letter-spacing:-.01em}.capability_experience{font-size:.82em;color:var(--font-color);margin:0;opacity:.85;letter-spacing:.01em}.capability_description{font-size:.92em;line-height:1.65em;color:var(--font-color);margin:0;opacity:.88;flex:1}.capability_tech{display:flex;flex-wrap:wrap;gap:.45em;margin-top:.4em}.tech_tag{font-size:.8em;font-weight:500;background-color:rgba(80,180,191,.2);border:1px solid rgba(80,180,191,.4);color:var(--font-color);border-radius:.5em;padding:.3em .7em;white-space:nowrap;letter-spacing:.01em}@media (max-width:700px){.capabilities_page{width:92%}.capabilities_header{padding-left:1.3em;padding-right:1.3em}.capabilities_heading{font-size:1.6em}.capabilities_grid{grid-template-columns:1fr;gap:1em}.capability_card{padding:1.4em 1.3em 1.3em}}@media screen and (min-width:701px) and (max-width:900px){.capabilities_grid{grid-template-columns:1fr}}.about_page{width:84%;max-width:1000px;margin:0 auto 4em;padding:0 1em}.about_container{display:flex;gap:3.5em;align-items:flex-start}.about_photo_col{flex:0 0 auto}.about_photo_wrap{border-radius:50%;overflow:hidden;width:220px;height:220px;box-shadow:0 0 24px rgba(80,180,191,.18);flex-shrink:0}.about_photo{width:100%!important;height:100%!important;object-fit:cover;border-radius:50%}.about_resume_link{display:block;margin-top:1em;font-size:.95em;font-weight:500;color:var(--second-color);text-decoration:none;text-align:center;transition:color .15s ease}.about_resume_link:hover{color:var(--third-color)}.about_text_col{flex:1;min-width:0}.about_bio{font-size:1.05em;line-height:1.75em;color:var(--font-color);margin:0 0 1.3em;opacity:.9;max-width:65ch}.about_bio:last-child{margin-bottom:0}@media (max-width:700px){.about_page{width:92%;margin:0 auto 3em}.about_container{flex-direction:column;gap:1.8em;align-items:center}.about_photo_wrap{width:160px;height:160px}.about_text_col{width:100%}.about_bio{font-size:1em}}@media screen and (min-width:701px) and (max-width:900px){.about_container{gap:2em}.about_photo_wrap{width:180px;height:180px}}.contact_page{width:84%;max-width:600px;margin:0 auto 4em;padding:0 1em}.contact_container{padding:0 .5em}.contact_form{display:flex;flex-direction:column;gap:.5em 0}.contact_label{font-size:.95em;font-weight:500;color:var(--third-color);margin-top:.75em}.contact_label:first-of-type{margin-top:0}.contact_input,.contact_textarea{font:inherit;padding:.5em .65em;border:1px solid rgba(180,217,213,.35);border-radius:6px;background:var(--background-color,#fff);color:var(--font-color);width:100%}.contact_input::placeholder,.contact_textarea::placeholder{color:rgba(180,217,213,.85)}.contact_input::-webkit-input-placeholder,.contact_textarea::-webkit-input-placeholder{color:rgba(180,217,213,.85)}.contact_input:focus,.contact_textarea:focus{outline:none;border-color:var(--second-color);box-shadow:0 0 0 2px rgba(80,180,191,.2)}.contact_textarea{resize:vertical;min-height:120px}.contact_oboe_captcha{position:relative;margin:1.25em 0 .5em;padding:2.5em 0 1em;border-top:1px solid var(--border,rgba(0,0,0,.12))}.contact_oboe_prompt{font-size:1em;color:var(--third-color);margin:0 0 .75em;font-weight:500}.contact_oboe_sub{font-weight:400;opacity:.85;font-size:.95em}.contact_oboe_actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75em 1em;margin-top:1em;max-width:36em}.contact_oboe_grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1em;max-width:36em}.contact_oboe_option{display:flex;align-items:stretch;justify-content:center;min-height:260px;padding:0;border:2px solid rgba(180,217,213,.35);border-radius:10px;overflow:hidden;background:#fff;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.contact_oboe_option:hover{border-color:var(--second-color);background:#fff}.contact_oboe_option:focus-visible{outline:2px solid var(--second-color);outline-offset:2px}.contact_oboe_img_wrap{position:relative;width:100%;min-height:256px;padding:.5rem;background:transparent;border-radius:8px;overflow:hidden}.contact_oboe_img_wrap,.contact_oboe_zoom_layer{display:flex;align-items:center;justify-content:center}.contact_oboe_zoom_layer{position:absolute;inset:0;transition:transform .12s ease-out}.contact_oboe_img{width:100%;height:100%;min-height:220px;max-height:280px;object-fit:contain}.contact_oboe_img_rotated{transform:rotate(90deg) scale(1.35)}.contact_oboe_none{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.6em 1.2em;background:#fff;border:2px solid rgba(54,115,115,.4);border-radius:8px;cursor:pointer;transition:border-color .2s ease,background .2s ease}.contact_oboe_none:hover{border-color:var(--main-color);background:rgba(54,115,115,.06)}.contact_oboe_none:focus-visible{outline:2px solid var(--main-color);outline-offset:2px}.contact_oboe_none_text{font-size:.95em;color:var(--main-color);font-weight:600}.contact_oboe_correct,.contact_oboe_loading{font-size:.95em;color:var(--third-color);margin:.5em 0 0}.contact_oboe_correct{color:var(--second-color);font-weight:500}.contact_submit{font-size:1em;font-weight:500;color:var(--background-color,#fff);background:var(--third-color);border:none;padding:.6em 1.2em;min-height:44px;border-radius:8px;cursor:pointer;transition:opacity .15s ease}.contact_submit:hover:not(:disabled){opacity:.9}.contact_submit:disabled{opacity:.7;cursor:not-allowed}.contact_honeypot{position:absolute;left:-9999px;opacity:0;pointer-events:none}.contact_error{font-size:.9em;color:var(--destructive,#c00);margin:0}.contact_success{font-size:1.1em;color:var(--second-color);margin:.5em 0 0}.contact_email_fallback{font-size:.95em;color:var(--font-color);opacity:.85;margin:1.5em 0 0}.contact_email_link{color:var(--second-color);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s ease,color .15s ease}.contact_email_link:hover{color:var(--third-color);border-bottom-color:var(--third-color)}@media (max-width:520px){.contact_page{width:92%;padding:0 .75em;margin:2em auto 3em}.contact_oboe_grid{grid-template-columns:repeat(2,1fr);gap:.75em}.contact_oboe_option{min-height:230px;padding:.75rem}.contact_oboe_img_wrap{min-height:200px}.contact_oboe_actions{gap:.5em .75em;margin-top:.75em}.contact_oboe_none,.contact_submit{min-height:44px;padding:.65em 1em}}@media (max-width:360px){.contact_oboe_grid{grid-template-columns:1fr}.contact_oboe_option{min-height:260px}.contact_oboe_img_wrap{min-height:256px}}.gear_page{max-width:1100px;margin:0 auto 4em;padding:0 2em;box-sizing:border-box}.gear_hero{margin-bottom:.5em}.gear_hero_title{margin-bottom:.25em}.gear_hero_tagline{font-size:1.1em;font-weight:400;color:var(--font-color);opacity:.9;margin:0;line-height:1.45;max-width:42ch}.gear_trust{margin-bottom:1.25em;padding:.6em 1em;background:rgba(80,180,191,.12);border:1px solid rgba(80,180,191,.25);border-radius:.5em}.gear_trust_text{font-size:.95em;color:var(--third-color);opacity:.95}.gear_intro{margin-top:0;margin-bottom:1.5em;line-height:1.6;color:var(--font-color);opacity:.92;max-width:65ch}.gear_intro .gear_ext_link{color:var(--second-color);text-decoration:none;border-bottom:1px solid rgba(80,180,191,.5);transition:color .2s ease,border-color .2s ease}.gear_intro .gear_ext_link:hover{color:var(--third-color);border-color:var(--third-color)}.gear_about,.gear_cta_banner{padding:1.25em 1.35em;background:rgba(180,217,213,.08);border-radius:.75em;border:1px solid rgba(180,217,213,.15)}.gear_about{margin-bottom:1.25em}.gear_about_heading{font-size:1.1em;font-weight:600;color:var(--third-color);margin:0 0 .5em}.gear_about_text{font-size:.95em;line-height:1.6;color:var(--font-color);opacity:.9;margin:0}.gear_section_listings{background:rgba(42,81,89,.35);border:1px solid rgba(180,217,213,.18);color:var(--font-color);margin-left:0;margin-right:0;padding:2em;border-radius:.85em;box-shadow:0 2px 12px rgba(0,0,0,.15)}.gear_section_listings .gear_section_title{color:var(--third-color);font-weight:700;font-size:1.2em;margin-bottom:1em}.gear_section_listings .gear_empty{color:var(--font-color);opacity:.85}.gear_filter_groups{display:flex;flex-wrap:wrap;gap:1em 2em;margin-bottom:1.25em;align-items:flex-start}.gear_filter_group{display:flex;flex-direction:column;gap:.4em}.gear_filter_group_label{font-size:.78em;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--third-color);opacity:.75}.gear_filter_pills{display:flex;flex-wrap:wrap;gap:.4em}.gear_filter_pill{font:inherit;font-size:.9em;padding:.45em .9em;border-radius:2em;border:1px solid rgba(180,217,213,.35);background:rgba(180,217,213,.1);color:var(--third-color);cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.gear_filter_pill:hover{background:rgba(80,180,191,.2);border-color:rgba(80,180,191,.5)}.gear_filter_pill_active{background:var(--main-color);border-color:var(--main-color);color:#fff}.gear_filter_pill_active:hover{background:var(--second-color);border-color:var(--second-color);color:#fff}.gear_filter_clear{font:inherit;font-size:.85em;padding:.35em .8em;border:none;background:none;color:var(--third-color);opacity:.7;cursor:pointer;text-decoration:underline;align-self:flex-end;transition:opacity .2s ease}.gear_filter_clear:hover{opacity:1}.gear_filter_clear_inline{font:inherit;font-size:inherit;border:none;background:none;color:var(--second-color);cursor:pointer;text-decoration:underline;padding:0}.gear_grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5em}.gear_card{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:#fff;border-radius:.85em;overflow:hidden;border:1px solid rgba(42,58,58,.1);box-shadow:0 2px 8px rgba(0,0,0,.04);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.gear_card:focus-visible,.gear_card:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,.08);border-color:rgba(80,180,191,.35)}.gear_card:focus-visible{outline:2px solid var(--second-color);outline-offset:2px}.gear_card_image_wrap{position:relative;width:100%;height:220px;flex-shrink:0;background:#f5f2ed;overflow:hidden}.gear_card_image{width:100%;height:220px;object-fit:cover;display:block}.gear_card_cta{position:absolute;bottom:0;left:0;right:0;padding:.6em .9em;background:rgba(42,58,58,.85);color:#fff;font-size:.9em;font-weight:600;text-align:center;opacity:0;transform:translateY(4px);transition:opacity .25s ease,transform .25s ease}.gear_card:hover .gear_card_cta{opacity:1;transform:translateY(0)}.gear_card_body{padding:1.1em 1.1em 1.25em;display:flex;flex-direction:column;gap:.5em;flex:1;min-height:0}.gear_card_title{font-size:1.02em;font-weight:600;color:#2a3a3a;line-height:1.35;-webkit-line-clamp:2}.gear_card_description,.gear_card_title{margin:0;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.gear_card_description{font-size:.88em;line-height:1.5;color:#4a5a5a;-webkit-line-clamp:3}.gear_card_badges{display:flex;flex-wrap:wrap;gap:.4em;margin-top:.2em}.gear_badge{font-size:.72em;font-weight:600;padding:.35em .7em;border-radius:.4em;text-transform:uppercase;letter-spacing:.03em;border:1px solid rgba(42,58,58,.22);background:rgba(42,58,58,.06);color:#2a3a3a}.gear_badge_category{background:rgba(80,180,191,.12);border-color:rgba(80,180,191,.35);color:#1a5a62}.gear_badge_instrument{background:rgba(100,150,80,.12);border-color:rgba(100,150,80,.35);color:#3a5a2a}.gear_card_price{font-size:1.35em;font-weight:700;color:var(--main-color);margin-top:auto;padding-top:.5em;letter-spacing:-.02em}.gear_card_link_text{font-size:.85em;font-weight:500;color:var(--second-color);margin-top:.2em;transition:color .2s ease}.gear_card:hover .gear_card_link_text{color:var(--main-color)}.gear_cta_banner{margin-top:2.5em}.gear_cta_banner_inner{max-width:52ch}.gear_cta_banner_title{font-size:1.15em;font-weight:700;color:var(--third-color);margin:0 0 .5em}.gear_cta_banner_text{font-size:.95em;line-height:1.55;color:var(--font-color);opacity:.92;margin:0 0 .75em}.gear_cta_banner_links{margin:0;font-size:.98em}.gear_cta_banner_link{color:var(--second-color);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(80,180,191,.5);transition:color .2s ease,border-color .2s ease}.gear_cta_banner_link:hover{color:var(--third-color);border-color:var(--third-color)}.gear_cta_banner_sep{opacity:.6;margin:0 .2em}.gear_section{margin-bottom:1.5em}.gear_section_title{font-size:1.25em;font-weight:600;color:var(--third-color);margin:0 0 1em}.gear_empty{color:var(--font-color);opacity:.85;font-style:italic}@media (max-width:700px){.gear_page{padding-left:1.25em;padding-right:1.25em}.gear_filter_groups{flex-direction:column;gap:.75em}.gear_hero_tagline{font-size:1em}.gear_section_listings{padding:1.5em 1.25em}.gear_grid{grid-template-columns:1fr;gap:1.25em}.gear_card_image,.gear_card_image_wrap{height:200px}.gear_card_body{padding:1em 1em 1.1em}.gear_about,.gear_cta_banner{padding:1.15em 1.2em}}.admin_login_page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--bg-2-color);padding:1em}.admin_login_card{background-color:var(--background-color);border:1px solid rgba(180,217,213,.14);border-radius:1.2em;padding:2.4em 2.2em 2.2em;width:100%;max-width:360px;box-shadow:0 0 32px rgba(0,0,0,.3)}.admin_login_heading{margin-bottom:1.8em}.admin_login_heading h1{font-size:1.3em;font-weight:700;color:var(--third-color);margin:0 0 .3em;letter-spacing:-.01em}.admin_login_heading p{font-size:.9em;color:var(--font-color);opacity:.65;margin:0}.admin_login_form{display:flex;flex-direction:column;gap:.7em}.admin_label{font-size:.85em;color:var(--third-color);opacity:.8;letter-spacing:.02em}.admin_input{background-color:var(--bg-2-color);border:1px solid rgba(180,217,213,.22);border-radius:.6em;color:var(--font-color);font-size:1em;padding:.65em .9em;outline:none;transition:border-color .15s ease;width:100%}.admin_input:focus{border-color:var(--second-color)}.admin_error{font-size:.85em;color:#f08080;margin:.1em 0 0}.admin_submit_btn{margin-top:.5em;background-color:var(--second-color);color:var(--bg-2-color);border:none;border-radius:.6em;font-size:1em;font-weight:600;padding:.7em 1.2em;cursor:pointer;transition:opacity .15s ease}.admin_submit_btn:hover:not(:disabled){opacity:.85}.admin_submit_btn:disabled{opacity:.5;cursor:default}.admin_shell{display:flex;flex-direction:column;height:100vh;overflow:hidden}.admin_topbar{display:flex;justify-content:space-between;align-items:center;gap:1em;background-color:var(--background-color);border-bottom:1px solid rgba(180,217,213,.14);padding:.6em 1.4em;flex-shrink:0}.admin_pm_link{font-size:.9em;color:var(--second-color);text-decoration:none}.admin_pm_link:hover{text-decoration:underline}.admin_pm_prompt{flex:1;display:flex;align-items:center;justify-content:center;padding:2em}.admin_pm_prompt a{color:var(--second-color);font-weight:500}.admin_pm_prompt a:hover{text-decoration:underline}.admin_topbar_label{font-size:.85em;color:var(--third-color);opacity:.7;letter-spacing:.04em;text-transform:uppercase}.admin_logout_btn{background:none;border:1px solid rgba(180,217,213,.28);border-radius:.5em;color:var(--font-color);font-size:.82em;padding:.3em .8em;cursor:pointer;transition:border-color .15s ease,color .15s ease}.admin_logout_btn:hover{border-color:var(--second-color);color:var(--third-color)}.admin_iframe{flex:1;border:none;width:100%}.admin_no_url{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.6em;color:var(--font-color);opacity:.6;font-size:.95em;text-align:center;padding:2em}.admin_no_url code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-size:.9em;background-color:rgba(80,180,191,.1);border-radius:.3em;padding:.1em .4em}.admin_no_url_hint{font-size:.88em;opacity:.7}