html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.header{align-items:baseline;display:flex;gap:1.5rem;justify-content:space-between;left:0;padding:1.5rem var(--gutter);position:absolute;right:0;top:0;z-index:10}.wordmark{color:#fff;font-family:var(--font-display);font-size:1.25rem;font-variation-settings:"SOFT" 60;letter-spacing:-.01em;white-space:nowrap}.wordmark:hover{color:var(--ember-bright);text-decoration:none}.navigation ul{align-items:baseline;display:flex;gap:1.75rem;list-style:none}.navigation a{border-bottom:1px solid #0000;color:var(--mist);font-size:.95rem;padding-bottom:.15rem;transition:color .16s ease,border-color .16s ease}.navigation a.active,.navigation a:hover{border-bottom-color:var(--ember);color:#fff;text-decoration:none}.logout-btn{background:none;border:none;border-radius:0;color:var(--mist-dim);font-size:.95rem;font-weight:400;padding:0 0 .15rem}.logout-btn:hover{background:none;color:var(--danger)}@media (max-width:600px){.header{padding:1.1rem var(--gutter)}.navigation ul{gap:1.1rem}}.footer{background-color:var(--ridge-near);padding:2rem var(--gutter) 2.5rem}.footer-content{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin:0 auto;max-width:var(--content-width)}.footer p{color:var(--mist-dim);font-size:.9rem;margin:0}.footer-links{display:flex;gap:1.5rem}.footer-links a{color:var(--mist-dim);font-size:.9rem}.footer-links a:hover{color:var(--ember-bright)}@media (max-width:600px){.footer-content{align-items:flex-start;flex-direction:column}}.ridgeline{background:linear-gradient(to bottom,var(--sky-deep) 0,var(--sky-high) 38%,var(--sky-glow) 62%,var(--horizon) 78%,#7a4a3e 84%,var(--ridge-far) 90%);inset:0;overflow:hidden;pointer-events:none;position:absolute}.ridgeline-svg{bottom:0;display:block;height:100%;left:0;position:absolute;width:100%}.star{fill:#fff;opacity:.55}.star-twinkle{animation:twinkle 5s ease-in-out infinite}.ember{animation:flicker 4.5s ease-in-out infinite;transform-origin:430px 372px}.ridge{animation:rise 1.2s cubic-bezier(.2,.7,.2,1) both;will-change:transform}.ridge-1{animation-delay:.12s}.ridge-2{animation-delay:.24s}@keyframes rise{0%{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}}@keyframes twinkle{0%,to{opacity:.25}50%{opacity:.9}}@keyframes flicker{0%,to{opacity:.85;transform:scale(1)}40%{opacity:1;transform:scale(1.04)}70%{opacity:.9;transform:scale(.98)}}@media (prefers-reduced-motion:reduce){.ember,.ridge,.star-twinkle{animation:none}}.project-list{border-top:1px solid var(--mist-faint);list-style:none}.project-row{grid-gap:1.5rem 2.5rem;align-items:start;border-bottom:1px solid var(--mist-faint);display:grid;gap:1.5rem 2.5rem;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) auto;padding:1.75rem 0}.project-list-detailed .project-row{padding:2.5rem 0}.project-heading h3{font-size:clamp(1.5rem,2.6vw,2rem);margin-bottom:.35rem}.project-heading h3 a{color:#fff}.project-heading h3 a:hover{color:var(--ember-bright);text-decoration:none}.project-status{color:var(--mist-dim);display:inline-block;font-size:.85rem}.project-status:before{background:var(--ember);border-radius:50%;content:"";display:inline-block;height:.45rem;margin-right:.5rem;position:relative;top:-1px;vertical-align:middle;width:.45rem}.project-body p{max-width:52ch}.project-tagline{color:var(--mist);font-size:1.05rem}.project-built,.project-description{color:var(--mist-dim);margin-top:.75rem}.project-built{font-size:.9rem}.project-link{font-size:.95rem;justify-self:end;padding-top:.5rem;white-space:nowrap}@media (max-width:760px){.project-row{gap:.75rem;grid-template-columns:1fr}.project-link{justify-self:start;padding-top:0}}.hero{align-items:flex-start;display:flex;min-height:100svh;overflow:hidden;position:relative}.hero-content{animation:hero-in 1.1s cubic-bezier(.2,.7,.2,1) .15s both;margin:0 auto;max-width:var(--content-width);padding:clamp(7.5rem,20vh,12rem) var(--gutter) 0;position:relative;width:100%;z-index:1}.hero h1{font-size:clamp(3rem,9vw,7rem);font-variation-settings:"SOFT" 70,"opsz" 144;letter-spacing:-.03em;line-height:.98;margin-bottom:1.25rem}.hero-lead{text-wrap:balance;color:var(--mist);font-size:clamp(1.15rem,2vw,1.4rem);line-height:1.45;max-width:30ch}@keyframes hero-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.camp{background-color:var(--ridge-near);padding:0 0 5rem}.camp>section{margin:0 auto;max-width:var(--content-width);padding:4.5rem var(--gutter) 0}.about{grid-gap:3rem 5rem;align-items:start;display:grid;gap:3rem 5rem;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}.about h2{margin-bottom:1.25rem}.about-text p+p{margin-top:1rem}.about-now h2{font-size:1.5rem}.about-now ul{list-style:none}.about-now li{border-top:1px solid var(--mist-faint);color:var(--mist);padding:.7rem 0}.about-now li:last-child{border-bottom:1px solid var(--mist-faint)}.section-heading{align-items:baseline;display:flex;gap:1.5rem;justify-content:space-between;margin-bottom:1.5rem}.section-heading a{font-size:.95rem;white-space:nowrap}.hello h2{margin-bottom:1rem}.hello-links{display:flex;flex-wrap:wrap;font-size:1.1rem;gap:.75rem 2rem;margin-top:1.5rem}@media (max-width:760px){.hero-content{padding-top:clamp(6.5rem,18vh,9rem)}.about{grid-template-columns:1fr}.camp>section{padding-top:3.5rem}.section-heading{align-items:flex-start;flex-direction:column;gap:.5rem}}@media (prefers-reduced-motion:reduce){.hero-content{animation:none}}.projects-page .page-description{max-width:48ch}.blog-page{margin:0 auto;max-width:1200px}.blog-page h1{color:#333;margin-bottom:1rem}.page-description{color:#6c757d;font-size:1.1rem;margin-bottom:2rem;max-width:800px}.blog-posts{display:flex;flex-direction:column;gap:2rem}.blog-post-card{background-color:#fff;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem;transition:transform .3s,box-shadow .3s}.blog-post-card:hover{box-shadow:0 10px 20px #0000001a;transform:translateY(-5px)}.blog-post-card h2{color:#333;margin-bottom:.5rem}.post-date{color:#6c757d;font-size:.9rem;margin-bottom:.75rem}.post-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tag{background-color:#e9ecef;border-radius:4px;color:#495057;font-size:.85rem;padding:.25rem .5rem}.post-excerpt{color:#495057;line-height:1.6;margin-bottom:1.5rem}.read-more{color:#06c;font-weight:500;text-decoration:none}.read-more:hover{text-decoration:underline}.contact-page .page-description{max-width:48ch}.contact-container{grid-gap:3rem 5rem;align-items:start;display:grid;gap:3rem 5rem;grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.info-item{margin-bottom:2rem}.info-item h3{font-size:1.25rem;margin-bottom:.4rem}.info-item p{color:var(--mist)}.social-links{display:flex;flex-direction:column;gap:.35rem}.form-message{background-color:#e8873a14;border:1px solid #e8873a73;border-radius:8px;color:var(--mist);margin-bottom:1.5rem;max-width:none;padding:1rem 1.1rem}.contact-form{display:flex;flex-direction:column;gap:1.25rem}.form-group textarea{min-height:8rem;resize:vertical}.submit-button{align-self:flex-start;margin-top:.25rem}@media (max-width:760px){.contact-container{grid-template-columns:1fr}}.login-container{margin:0 auto;max-width:26rem;padding:calc(8rem + 4vh) var(--gutter) 6rem}.login-container h2{margin-bottom:.5rem}.login-container>p{color:var(--mist-dim);margin-bottom:2rem}.login-form{gap:1.25rem}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:.4rem}.form-group label{color:var(--mist-dim);font-size:.95rem}.error-message{border:1px solid #f08a7a59;border-radius:8px;color:var(--danger);font-size:.95rem;padding:.75rem 1rem}.login-button{align-self:flex-start}.login-button:disabled{background-color:var(--mist-dim);cursor:not-allowed}.video-gallery h1{margin-bottom:1.5rem}.search-bar{margin-bottom:2rem;max-width:28rem}.search-bar input{width:100%}.video-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr))}.video-card{background-color:#ffffff05;border:1px solid var(--mist-faint);border-radius:10px;color:inherit;display:block;padding:1.5rem;transition:border-color .16s ease,background-color .16s ease}.video-card:hover{background-color:#e8873a0f;border-color:var(--ember);text-decoration:none}.video-info h3{font-size:1.3rem;margin-bottom:.35rem}.video-info p{color:var(--mist-dim);font-size:.9rem}.video-player-container h1{margin-bottom:.35rem}.video-date{color:var(--mist-dim);margin-bottom:1.5rem}.video-player{background-color:#000;border:1px solid var(--mist-faint);border-radius:10px;margin-bottom:1.5rem;overflow:hidden}video{display:block;width:100%}.video-controls{display:flex;gap:.75rem;margin-bottom:2rem}.back-button{background-color:initial;border:1px solid var(--mist-faint);color:var(--mist)}.back-button:hover{background-color:#ffffff0f;color:#fff}.video-description{border:1px solid var(--mist-faint);border-radius:10px;color:var(--mist-dim);margin-bottom:2rem;padding:1.5rem}.video-description h3{margin-bottom:.75rem}:root{--sky-deep:#0e1a2b;--sky-high:#16233d;--sky-glow:#2b2a4c;--horizon:#5a3a4a;--ridge-far:#223f52;--ridge-mid:#17303f;--ridge-near:#0d1f29;--ember:#e8873a;--ember-bright:#f4b860;--mist:#d6dde7;--mist-dim:#8f9cad;--mist-faint:#d6dde71f;--danger:#f08a7a;--font-display:"Fraunces",Georgia,"Times New Roman",serif;--font-body:"Instrument Sans","Segoe UI",system-ui,sans-serif;--measure:62ch;--content-width:68rem;--gutter:clamp(1.25rem,5vw,3rem)}*{box-sizing:border-box;margin:0;padding:0}body,html{background-color:#0e1a2b;background-color:var(--sky-deep)}body{color:#d6dde7;color:var(--mist);font-family:Instrument Sans,Segoe UI,system-ui,sans-serif;font-family:var(--font-body);font-size:1.0625rem;line-height:1.6;overflow-x:hidden}::selection{background:#e8873a;background:var(--ember);color:#0e1a2b;color:var(--sky-deep)}h1,h2,h3{color:#fff;font-family:Fraunces,Georgia,Times New Roman,serif;font-family:var(--font-display);font-variation-settings:"SOFT" 40;font-weight:400;line-height:1.1}h2{font-size:clamp(1.75rem,3.2vw,2.5rem);letter-spacing:-.01em}h3{font-size:1.5rem}p{max-width:62ch;max-width:var(--measure)}a{color:#f4b860;color:var(--ember-bright);text-decoration:none;text-decoration-color:#f4b86066;text-underline-offset:.2em;transition:color .16s ease,text-decoration-color .16s ease}a:hover{text-decoration:underline;text-decoration-color:initial}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #f4b860;outline:2px solid var(--ember-bright);outline-offset:3px}button{background-color:#e8873a;background-color:var(--ember);border:none;border-radius:999px;color:#0e1a2b;color:var(--sky-deep);cursor:pointer;font-family:inherit;font-size:1rem;font-weight:600;padding:.7rem 1.4rem;transition:background-color .16s ease,transform .16s ease}button:hover{background-color:#f4b860;background-color:var(--ember-bright)}button:active{transform:translateY(1px)}input,textarea{background-color:#ffffff0a;border:1px solid #d6dde71f;border:1px solid var(--mist-faint);border-radius:6px;color:#d6dde7;color:var(--mist);font-family:inherit;font-size:1rem;padding:.75rem .9rem;transition:border-color .16s ease,background-color .16s ease}input:focus,textarea:focus{background-color:#ffffff0f;border-color:#e8873a;border-color:var(--ember);outline:none}input::placeholder,textarea::placeholder{color:#8f9cad;color:var(--mist-dim)}.App{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;width:100%}.page{margin:0 auto;max-width:68rem;max-width:var(--content-width);padding:calc(6rem + 2vw) clamp(1.25rem,5vw,3rem) 5rem;padding:calc(6rem + 2vw) var(--gutter) 5rem}.page-title{font-size:clamp(2.5rem,6vw,4.25rem);letter-spacing:-.02em;margin-bottom:.75rem}.page-description{color:#8f9cad;color:var(--mist-dim);font-size:1.125rem;margin-bottom:3rem}.error,.loading,.no-results{border:1px solid #d6dde71f;border:1px solid var(--mist-faint);border-radius:10px;color:#8f9cad;color:var(--mist-dim);margin-top:1rem;padding:2.5rem 1rem;text-align:center}.error{border-color:#f08a7a59;color:#f08a7a;color:var(--danger)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/*# sourceMappingURL=main.b2edf079.css.map*/