body{display:flex;align-items:flex-start;flex-direction:column;background-color:var(--bg-color, white);color:var(--text-color, black);width:100%;transition:background-color .3s,color .3s;--bg-color: white;--text-color: black;--link-color: #3f51b5;--border-color: #ccc;transition:background-color .3s ease-in-out,color .3s ease-in-out}body div{display:flex;width:100%;flex-direction:column}a{color:var(--link-color, #3f51b5)}.route-content-wrapper{max-width:100%;display:flex;flex-direction:column;justify-content:flex-start;padding-top:2em}body.dark{--bg-color: #121212;--text-color: #e0e0e0;--link-color: #90caf9;--border-color: #444}.Navbar{position:sticky;top:0;z-index:1000;height:5em;display:flex;align-items:center;justify-content:center;background-color:var(--bg-color);color:var(--text-color)}.Navbar:before,.Navbar:after{content:"";position:absolute;left:50%;width:0;height:1px;background-color:var(--text-color);transform:translate(-50%);animation:expandBorder 1s ease-out forwards;animation-delay:.25s}.Navbar:before{top:0}.Navbar:after{bottom:0}.Navbar ul{display:flex;flex-direction:row;justify-content:space-around;list-style:none;width:100%;align-items:center;margin:0}.Navbar li{opacity:0;transform:translateY(10px);animation:fadeInUp 1s ease-out forwards;animation-delay:1s}.Navbar a{font-size:1.2em;color:var(--text-color);text-decoration:none;display:inline-block;position:relative;transition:color .3s ease}.Navbar a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background-color:var(--text-color);transition:width .3s ease}.Navbar a:hover:after{width:100%}.Navbar a:hover{text-decoration:none;color:var(--text-color)}.Navbar .active:after{width:100%}.Navbar button{padding:.2em 1.2em;background-color:transparent;color:var(--text-color);border:none;cursor:pointer}.Navbar button:hover{box-shadow:1px 1px 1px 1px gray;color:var(--text-color)}.hamburger{display:none;font-size:2rem;background:var(--bg-color);color:var(--text-color);cursor:pointer;position:relative;margin:0 auto;z-index:10;box-sizing:border-box}@media (max-width: 768px){.Navbar{position:sticky;top:0;z-index:1000;flex-direction:column;align-items:flex-start;padding:1em;height:auto;background:var(--bg-color)}.Navbar ul{position:absolute;top:100%;left:0;right:0;background:var(--bg-color);flex-direction:column;width:100%;border-top:1px solid var(--border-color, #ccc);opacity:0;max-height:150em;overflow:hidden;pointer-events:none;transition:max-height .3s ease,opacity .3s ease;z-index:5;padding:0}.Navbar ul.open{max-height:150em;opacity:1;pointer-events:auto;padding:0}.Navbar li{padding:.75em 1em;opacity:1;transform:none}.hamburger{display:block}.Navbar ul{border-bottom:1px solid grey}}@keyframes expandBorder{0%{width:0}to{width:100%}}@keyframes slideDown{0%{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}.bio-container{display:flex;flex-direction:row;gap:2em;padding:3em;background-color:#f8f8f8;border-radius:10px;box-shadow:0 4px 12px #0000001a;color:#333;align-items:center;width:90%;max-width:90%;margin:2em auto;transition:transform .3s ease-in-out;opacity:0;transform:translateY(5px);transition:opacity .4s ease,transform .4s ease}.bio-container.show{opacity:1;transform:translateY(0)}.bio-pic{width:30%;height:auto;border-radius:50%;box-shadow:0 4px 12px #0003}.bio-container div{flex:1}.bio-container p{font-size:1rem;color:#555;line-height:1.7;margin-bottom:1.5em}body.dark .bio-container{background-color:#ffffff0d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.1);color:#ccc}body.dark .bio-container p{color:#ccc}.featured-project{margin:4rem auto 2rem;padding:2.5rem 1.5rem;max-width:90%;text-align:center;background:#fafafa;border-radius:16px;border:1px solid #eee}.featured-simple h3{font-size:1.4rem;margin-bottom:.5rem}.featured-simple p{color:#555;margin:0 auto 1rem;max-width:500px;font-size:1rem;line-height:1.5}.featured-btn{display:inline-block;padding:.6rem 1.2rem;background:#111827;color:#fff;border-radius:10px;text-decoration:none;font-weight:600}.featured-btn:hover{filter:brightness(1.1)}body.dark .featured-project{background:#ffffff0d;border:1px solid rgba(255,255,255,.12)}body.dark .featured-simple p{color:#ccc}body.dark .featured-btn{background:#1a73e8}body.dark .featured-btn{background:#1a73e8;color:#fff!important}@media (max-width: 800px){.bio-container{flex-direction:column;justify-content:center;align-items:center}.bio-pic{width:50%;height:auto}.bio-container p{text-align:center}}.banner{display:flex;position:relative;overflow:hidden;justify-content:center;align-items:flex-start;height:30em;margin-top:-2em}.banner-container{position:relative;width:100%;height:100%}.banner-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background-size:cover;background-position:top left;background-repeat:no-repeat;transition:opacity .3s ease-in-out}.banner-image:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(to bottom,#fff0 60%,#fff 90%),url(/images/header-photo.jpg);background-size:cover;background-position:top left;background-repeat:no-repeat;opacity:1;transition:opacity .3s ease-in-out;z-index:1}.banner-tech-stack{font-size:.9rem;color:#777;margin-top:.5rem;letter-spacing:.3px}body.dark .banner-image:before{background-image:linear-gradient(to bottom,#12121200 60%,#121212 90%),url(/images/header-photo-3.jpeg)}.banner-text{position:absolute;font-size:1.5rem;font-weight:700;text-align:right;color:#000;opacity:0;transform:translateY(10px);animation:fadeInUp .5s ease-out forwards;animation-delay:.5s;margin-top:0;right:2em;top:5em;text-shadow:2px 5px 7px rgba(255,255,255,.8);z-index:2}.banner-text h1{padding-left:1.2em}.banner-text .subheader{display:flex;justify-content:right}.banner-text .subheader p{white-space:nowrap}body.dark .banner-text{color:#fff;text-shadow:2px 5px 7px rgba(0,0,0,.8)}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}@media (max-width: 589px){.banner-text{display:flex;justify-content:center;align-items:center;top:10%;right:0;padding-left:0}.banner-text h1,.banner-text p{padding-left:.6em;padding-right:.6em;text-align:center}.banner{height:25em}}.feature-container{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;background-color:#fff;border-radius:10px;box-shadow:0 4px 12px #0000001a;padding:2em;margin:1.5em 0;width:90%;max-width:600px;opacity:0;transform:translateY(40px);transition:opacity .6s ease,transform .6s ease;will-change:opacity,transform}.feature-container.visible{opacity:1;transform:translateY(0)}.feature-title{font-size:1.8rem;font-weight:700;color:#333;margin-bottom:1em;text-align:center}.feature-image{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:8px;margin-bottom:1em}.feature-description{font-size:1rem;color:#555;line-height:1.5;margin-bottom:1.5em;text-align:center}a{font-size:1rem;text-decoration:none;font-weight:700;text-align:center}a:hover{text-decoration:underline}body.dark .feature-container{background-color:#ffffff0d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.1);color:#ccc}body.dark .feature-container p,body.dark .feature-title{color:#ccc}.feature-button{display:inline-block;padding:.75em 1.5em;font-size:1rem;font-weight:600;color:#fff;background-color:#1a202c;border:none;border-radius:6px;text-decoration:none;text-align:center;transition:background-color .3s ease,transform .2s ease}.feature-button:hover,.feature-button:focus{background-color:#2d3748;transform:translateY(-1px)}.feature-button:active{transform:translateY(0);background-color:#4a5568}@media (max-width: 500px){.feature-button{width:100%;display:block;box-sizing:border-box}}body.dark .feature-button{background-color:#edf2f7;color:#1a202c}body.dark .feature-button:hover,body.dark .feature-button:focus{background-color:#e2e8f0}.portfolio-container{display:flex;flex-direction:column;justify-content:center;align-items:center;color:#000;gap:2em}.create-feature{padding:2em}.portfolio-list{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;color:#000;position:relative;gap:1em}.category-title{font-size:2rem;font-weight:600;margin-bottom:1em;color:var(--text-color);transition:color .3s ease}body.dark .category-title{color:#ffffffe6}.blog-container{position:relative;display:flex;flex-direction:column;align-items:center;padding:2em 1em 4em;color:var(--text-color);background-color:var(--bg-color);transition:background-color .3s ease,color .3s ease}.create-post{margin:2em}.blog-list{display:flex;flex-direction:column;align-items:center;gap:2em;width:100%;max-width:60rem;opacity:0;transform:translateY(8px);transition:opacity .4s ease,transform .4s ease}.blog-list.show{opacity:1;transform:translateY(0)}.post-feature{display:flex;flex-direction:column;background-color:#fff;border-radius:10px;box-shadow:0 4px 12px #0000001a;overflow:hidden;width:100%;max-width:600px;transition:transform .3s ease,box-shadow .3s ease}.post-feature:hover{transform:translateY(-3px);box-shadow:0 8px 20px #00000026}.post-thumbnail{width:100%;height:220px;object-fit:cover;display:block}.post-content{padding:1.5em 2em;text-align:left}.post-title{font-size:1.5rem;font-weight:600;margin-bottom:.5em;word-break:break-word}.post-date{font-size:.9rem;color:#666;margin-bottom:.8em}.post-brief{text-align:left;color:#333;line-height:1.6;font-size:1rem;white-space:pre-line}.post-brief p{margin-bottom:1.2rem}.read-more{color:#07c;text-decoration:none;font-weight:500;transition:color .2s ease}.read-more:hover{color:#004c99}body.dark .post-feature{background-color:#ffffff0d;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.1);color:#ddd}body.dark .post-date,body.dark .post-brief{color:#aaa}body.dark .read-more,body.dark a{color:#6af}body.dark .read-more:hover{color:#99cfff}@media (max-width: 768px){.post-content{padding:1.2em 1.5em}.post-title{font-size:1.3rem}.post-thumbnail{height:180px}}.single-post-container{display:flex;justify-content:center;align-items:flex-start;width:100%;padding:3em 1.5em;background-color:var(--bg-color);color:var(--text-color);min-height:100vh}.post-contents{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;background-color:#fff;border-radius:12px;box-shadow:0 4px 18px #0000001a;padding:3em 2em;width:100%;max-width:48rem;opacity:0;transform:translateY(10px);transition:opacity .4s ease,transform .4s ease;line-height:1.6;text-align:left}.post-contents.show{opacity:1;transform:translateY(0)}.post-contents h1{font-size:2rem;font-weight:700;margin-bottom:1rem;text-align:center;width:100%;line-height:1.3}.post-image{width:100%;max-width:700px;height:auto;max-height:400px;object-fit:cover;border-radius:8px;margin:1.5em 0;display:block}.post-contents time{font-size:.9rem;color:#666;margin-bottom:1.5em;text-align:center;width:100%}.post-contents p{margin-bottom:1.2rem;font-size:1.05rem;color:#333;width:100%}.post-contents p:first-of-type{margin-top:.5em}.post-contents p:last-of-type{margin-bottom:0}.edit-button{position:fixed;bottom:20px;right:20px;background-color:#1a1a1a;color:#fff;border:none;border-radius:50%;width:56px;height:56px;font-size:24px;cursor:pointer;box-shadow:0 4px 8px #0003;z-index:1000;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,background-color .2s ease}.edit-button:hover{background-color:#0056b3;transform:scale(1.1)}body.dark .post-contents{background-color:#ffffff0d;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.1);color:#ccc}body.dark .post-contents p{color:#ddd}body.dark .post-contents time{color:#aaa}@media (max-width: 768px){.single-post-container{padding:2em 1em}.post-contents{padding:2em 1.2em}.post-contents h1{font-size:1.6rem}.post-image{max-height:300px}.post-contents p{font-size:1rem}}.contact-container{display:flex;justify-content:center;align-items:center;padding:4em 1.5em;min-height:30vh;opacity:0;transform:translateY(10px);transition:opacity .4s ease,transform .4s ease}.contact-container.show{opacity:1;transform:translateY(0)}.contact-content{max-width:60rem;text-align:center;color:var(--text-color)}.contact-intro{font-size:1.1rem;line-height:1.6;margin-bottom:2.5em}.contact-icons{display:flex;justify-content:center;flex-wrap:wrap;gap:2em;flex-direction:row}.contact-icon{width:60px;height:60px;transition:transform .2s ease,filter .3s ease}.contact-icon:hover,.contact-icon:focus{transform:translateY(-5px) scale(1.05);filter:brightness(1.2)}body.dark .darkicon{filter:invert(1) brightness(2)}@media (max-width: 600px){.contact-intro{font-size:1rem}.contact-icons{flex-direction:column;align-items:center;gap:1.5em}.contact-container{padding:3em 1em}}.editor-container{display:flex;flex-direction:column;gap:2em;padding:3em;background-color:#f8f8f8;border-radius:10px;box-shadow:0 4px 12px #0000001a;color:#333;align-items:center;width:90%;max-width:90%;margin:2em auto;transition:transform .3s ease-in-out}form{color:#000;display:flex;flex-direction:column;align-items:flex-start;width:90%;gap:1.5em}label{display:flex;flex-direction:column;align-items:flex-start;font-weight:700;width:100%;color:#333}.full-width-field{width:100%;padding:.5rem;margin-top:.3rem;background-color:#fff;color:#000;border:1px solid #ccc;border-radius:5px}.editor-button-container{display:flex;justify-content:center;align-items:center}.editor-buttons{display:flex;flex-direction:row;justify-content:center;gap:1rem;margin-top:1.5rem}.editor-buttons button:hover{background-color:#fff;color:#000;border:1px solid black}.confirmation-buttons{display:flex;flex-direction:row;justify-content:center;gap:1rem}.warning-text{color:red;font-weight:700}.confirm-delete{background-color:#e53935;color:#fff}input::selection,textarea::selection{background:#bebec7}body.dark .editor-container{background-color:#ffffff0d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.1);color:#ccc}body.dark .editor-container p,body.dark .editor-container h2,body.dark label{color:#ccc}body.dark .editor-container button{background-color:gray}body.dark .editor-container input,body.dark .editor-container textarea,body.dark .editor-container select{background-color:#ccc;color:#000}.image-preview{display:flex;flex-direction:column;align-items:center;margin-top:1.5em;gap:.8em}.preview-image{max-width:300px;max-height:200px;width:auto;height:auto;object-fit:cover;border-radius:8px;box-shadow:0 2px 8px #00000026}.delete-button{background-color:#d9534f;color:#fff;border:none;border-radius:5px;padding:.5em 1em;font-size:.9rem;cursor:pointer;transition:background-color .2s ease,transform .1s ease}.delete-button:hover{background-color:#c9302c;transform:translateY(-1px)}body.dark .delete-button{background-color:#a33a38}body.dark .delete-button:hover{background-color:#cc4b48}@media (max-width: 800px){.editor-container{flex-direction:column;justify-content:center;align-items:center}}.marketing-container{display:flex;flex-direction:column;align-items:center;padding:3em 2em;background-color:#f8f8f8;border-radius:10px;box-shadow:0 4px 12px #0000001a;color:#333;width:90%;max-width:900px;margin:2em auto;opacity:0;transform:translateY(5px);transition:opacity .4s ease,transform .4s ease}.marketing-container.show{opacity:1;transform:translateY(0)}.marketing-container h1{font-size:2rem;margin-bottom:.8em;text-align:center}.marketing-container h2{font-size:1.4rem;margin:1.5em 0 .6em;text-align:left;width:100%}.marketing-container p,.marketing-container ul{font-size:1rem;color:#555;line-height:1.7;margin-bottom:1.2em}.marketing-container ul{list-style:disc;margin-left:1.5em}.marketing-container li{margin-bottom:.5em}.intro{font-size:1.1rem;text-align:center;margin-bottom:2em;color:#444}.section{width:100%;margin-bottom:2em}.image-gallery{display:flex;flex-wrap:wrap;gap:1.2em;justify-content:center;margin-top:1em}.image-gallery img{width:100%;max-width:280px;border-radius:8px;box-shadow:0 3px 8px #00000026;transition:transform .3s ease,box-shadow .3s ease}.image-gallery img:hover{transform:scale(1.02);box-shadow:0 5px 14px #00000040}body.dark .marketing-container{background-color:#ffffff0d;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.1);color:#ddd}body.dark .marketing-container h1,body.dark .marketing-container h2{color:#fff}body.dark .marketing-container p,body.dark .marketing-container li{color:#ccc}.scroll-gallery{display:flex;overflow-x:auto;gap:2em;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:1em 0;margin:2em 0}.scroll-item{flex:0 0 auto;width:100%;max-width:900px;scroll-snap-align:center;text-align:center}.scroll-item img{width:100%;height:auto;border-radius:12px;box-shadow:0 4px 16px #0000004d;transition:transform .3s ease,box-shadow .3s ease}.scroll-item img:hover{transform:scale(1.02);box-shadow:0 8px 24px #0006}.scroll-caption{font-size:.9rem;color:#999;margin-top:.5em}.scroll-gallery::-webkit-scrollbar{height:10px}.scroll-gallery::-webkit-scrollbar-thumb{background:#9696964d;border-radius:10px}.scroll-gallery::-webkit-scrollbar-thumb:hover{background:#c8c8c880}@media (max-width: 800px){.marketing-container{padding:2em 1.2em}.marketing-container h1{font-size:1.7rem}.marketing-container h2{font-size:1.2rem}.intro{text-align:left}.image-gallery img{max-width:100%}.scroll-gallery{gap:1em}.scroll-item{max-width:95%}}.carousel{position:relative;width:100%;max-width:1000px;margin:3em auto;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.carousel-slide{display:flex;flex-direction:column;align-items:center;height:100%}.carousel-image-wrapper{width:100%;height:clamp(20rem,50vh,31rem);display:flex;justify-content:center;align-items:center;overflow:hidden}.carousel-img{width:100%;height:100%;object-fit:contain;border-radius:12px}.carousel-footer{margin-top:1em;display:flex;flex-direction:column;align-items:center;gap:.4em}.carousel-controls{display:flex;flex-direction:row;justify-content:center;gap:1em}.carousel-arrow-btn{background:#505050cc;border:none;color:#fff;font-size:1.8rem;border-radius:8px;padding:.3em .8em;cursor:pointer;transition:background .2s,transform .1s ease}.carousel-dots{display:flex;justify-content:center;align-items:center;flex-direction:row;gap:6px;margin-top:.6em}.dot{height:8px;width:8px;background-color:#666;border-radius:50%;opacity:.6;pointer-events:none}.dot.active{background-color:#fff;opacity:1}@media (max-width: 800px){.carousel-image-wrapper{height:auto}}.writing-container{display:flex;flex-direction:column;gap:2.5rem;padding:3em 2em;background-color:#f8f8f8;border-radius:10px;box-shadow:0 4px 12px #0000001a;color:#333;width:90%;max-width:900px;margin:2em auto;opacity:0;transform:translateY(5px);transition:opacity .5s ease,transform .5s ease}.writing-container.show{opacity:1;transform:translateY(0)}.writing-container h2{text-align:center;font-size:2rem;color:#222;margin-bottom:.5em}.writing-container .intro,.writing-container .outro{font-size:1.05rem;line-height:1.7;color:#555;text-align:center;max-width:700px;margin:0 auto}.writing-sample{display:flex;justify-content:center;align-items:flex-start;flex-direction:column}.writing-section{background-color:#fff;border-radius:8px;padding:1.8em 2em;box-shadow:0 3px 10px #0000000d;transition:transform .25s ease,box-shadow .25s ease}.writing-section:hover{transform:translateY(-3px);box-shadow:0 6px 16px #00000014}.writing-section h3{color:#222;font-size:1.4rem;margin-bottom:.8em;border-left:4px solid #0077cc;padding-left:.6em}.writing-section p{color:#444;font-size:1rem;line-height:1.7;margin-bottom:1.2em}.writing-section ul{list-style-type:none;padding:0;margin:0}.writing-section li{font-size:.98rem;line-height:1.6;margin-bottom:.6em;color:#333}.writing-section a{color:#07c;font-weight:500;text-decoration:none;transition:color .2s ease}.writing-section a:hover{color:#005fa3}.sample-preview{display:flex;align-items:center;justify-content:center;text-align:center;margin-top:.75rem}.sample-preview img{display:inline-block;max-width:350px;width:80%;height:auto;border-radius:6px;box-shadow:0 2px 8px #0000001a;transition:transform .2s ease}.sample-preview img:hover{transform:scale(1.03)}body.dark .writing-container{background-color:#ffffff0d;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.1);color:#ddd}body.dark .writing-section{background-color:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:#ccc}body.dark .writing-section h3{color:#eee;border-left-color:#6af}body.dark .writing-section p,body.dark .writing-section li{color:#ccc}body.dark .writing-section a{color:#6af}body.dark .writing-section a:hover{color:#99cfff}body.dark .writing-container .intro,body.dark .writing-container .outro{color:#ccc}body.dark .writing-container h2{color:#eee}@media (max-width: 800px){.writing-container{padding:2em 1.2em}.writing-container h2{font-size:1.6rem}.writing-section{padding:1.2em 1.4em}.writing-section h3{font-size:1.2rem}.writing-section a{text-align:left}}.stats-link{font-size:1.5em}.sneffels-bg{background-image:url(/images/sneffels/Mount-sneffels-view.webp)}.sneffels-intro{background:#fff;color:#1a1a1a;margin:0 auto;gap:2em}.intro-image-wrapper{position:relative;overflow:hidden}.intro-image{display:block;object-fit:cover;width:100%;height:100%;object-position:43.235924130394345% 82.14285714285714%}.image-caption{font-size:.9rem;color:#666;margin-top:.5rem}.intro-text{flex:1 1 500px;font-size:1rem;line-height:1.6}.intro-text p{margin-bottom:1.5rem}.link-block a{color:#3f5fa9;font-weight:600;text-decoration:underline}html{scroll-behavior:smooth}em{font-style:italic}strong{font-weight:700}h1,h2,h3,h4,p,ul,figure{margin-block-start:0;margin-block-end:0;margin-inline-start:0;margin-inline-end:0}h3{font-size:2.5em;font-weight:300;padding-top:.5em;padding-bottom:.5em}h4{font-size:1.8em;font-weight:250;padding-top:.5em;padding-bottom:.5em}figcaption{padding-top:.5em}.content-wrapper{padding-left:3.5vmax;padding-right:3.5vmax;padding-top:3vmax}.vrt-spc{height:3em}.cnt{display:flex;justify-content:center;align-items:center}.dis-row{display:flex;flex-direction:row}.dis-col{display:flex;flex-direction:column}.section-half{width:50%}.g-2{gap:2em}.half-stack{display:flex;flex-direction:column;align-items:center}.section-header{font-size:2.5em;padding-top:.5em;padding-bottom:.5em;font-weight:500;text-align:center;white-space:pre-wrap;transition-timing-function:ease;transition-duration:.45s;transition-delay:.259615s}.big-txt{font-size:1.35em}.button{padding:.8rem;border-radius:.4rem;background-color:#253551;color:#fff!important;width:fit-content}.button-container{display:flex;align-items:center;justify-content:center;width:100%}.section-divider{margin-top:2rem;height:1px;width:100%;border-top:1px solid black}.guide{margin:-2em auto 0;line-height:1.6;font-family:system-ui,sans-serif;font-size:1rem;color:#111;background:#fff}.guide p{margin-bottom:1rem;font-family:Poppins,sans-serif}.guide img{max-width:100%;height:auto;display:block}.guide ul,.guide ol{margin-left:1.5rem;margin-bottom:1.5rem}.guide blockquote{border-left:4px solid #ccc;padding-left:1rem;font-style:italic;color:#555;margin:1.5rem 0}.guide a{color:#06c;text-decoration:underline}.hero{position:relative;width:100%;height:75vh;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:#0000004d;z-index:1}.hero-text{color:#fff;text-shadow:black 3px 3px;text-align:center;z-index:2;padding:0 1rem}.hero-text h1{font-size:4.5rem;font-weight:100;font-weight:700;color:#fff;text-align:center;white-space:pre-wrap;opacity:0;transform:translateY(30%);transition:transform .45s ease 75ms,opacity .45s ease 75ms;line-height:1.2;margin:0 auto;max-width:90%}.hero-text h1.animate{opacity:1;transform:translateY(0)}@media (max-width: 768px){.dis-row{flex-direction:column}.hero-text h1{font-size:3.5rem}.section-half{width:100%}}.manitou-bg{background-image:url(/images/north-manitou/manitou-header.webp)}h2{white-space:pre-wrap;font-size:3rem;font-weight:400}.caltopo-bg{background-image:url(/images/caltopo/pictured+rocks.webp)}.image-swap-container{position:relative;display:inline-block}.image-swap-container img{display:block;width:100%;height:auto;transition:opacity .3s ease}.img-hover{position:absolute;top:0;left:0;opacity:0}.image-swap-container:hover .img-hover{opacity:1}.image-swap-container:hover .img-default{opacity:0}.remote-bg{background-image:url(/images/remote-forecasting/skintrack.webp)}@media (max-width: 1024px){.dis-row{flex-direction:column}.hero-text h1{font-size:3.5rem}.section-half{width:100%}}.origin-landing{font-family:system-ui,sans-serif;line-height:1.6;color:#1a1a1a;background-color:#fff;padding:2rem;max-width:800px;margin:0 auto}.origin-landing h1{font-size:2rem;margin-bottom:.5rem;color:#222}.origin-landing h2{font-size:1.25rem;margin-top:2rem;margin-bottom:.5rem;color:#444;border-bottom:1px solid #ddd;padding-bottom:.25rem}.origin-landing p{margin-bottom:1rem}.origin-landing ul{list-style:disc;padding-left:1.25rem}.origin-landing a{color:#06c;text-decoration:none}.origin-landing a:hover{text-decoration:underline}@media screen and (max-width: 600px){.origin-landing{padding:1.25rem}.origin-landing h1{font-size:1.5rem}.origin-landing h2{font-size:1.1rem}}.category-hero h1{font-size:clamp(1.9rem,4vw,2.6rem);line-height:1.1;margin:0 0 .5rem}.category-intro{margin-top:1.25rem;color:#333}.stat-grid{margin:2rem 0 2.5rem;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.stat-num{display:block;font-weight:700;font-size:1rem}.stat-label{display:block;font-size:.9rem;color:#666}.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:0 0 2.5rem}.pillar{background:#fff;border-radius:14px;border:1px solid #eee;padding:1rem 1.1rem}.pillar h3{margin:0 0 .5rem}.pillar ul{margin:.25rem 0 0;padding-left:1.1rem}.cases h2,.tools h2{margin:1.5rem 0 .75rem}.case-card{display:grid;grid-template-columns:380px 1fr;gap:1rem;border:1px solid #eee;border-radius:16px;padding:1rem;margin:.75rem 0;background:#fff;box-shadow:0 2px 12px #00000008}.case-media{display:flex;justify-content:center}.case-media img{display:block;width:100%;height:220px;object-fit:cover;border-radius:12px;background:#f5f5f5}.case-body h3{margin:0 0 .4rem}.case-body p{margin:0 0 .8rem;color:#333}.case-actions{display:flex;gap:.5rem;flex-wrap:wrap}.btn:hover{opacity:.92}.tools{margin-top:1.25rem}.tool-list{margin:.5rem 0 0;padding-left:1.1rem;color:#333}.tool-list li{margin:.25rem 0}.category-cta{margin-top:2rem;padding:1.25rem;border:1px solid #eee;border-radius:16px;background:#fafafa;display:flex;align-items:center;gap:.75rem;justify-content:space-between}.category-cta p{margin:0;color:#333;max-width:60ch}body.dark .category-page{background-color:#121212;color:#e0e0e0}body.dark .category-hero h1,body.dark .category-hero h2{color:#fff}body.dark .category-tagline{color:#bbb}body.dark .category-intro{color:#ccc}body.dark .stat{background:#ffffff0f;border:1px solid rgba(255,255,255,.1)}body.dark .stat-num{color:#fff}body.dark .stat-label{color:#ccc}body.dark .pillar{background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}body.dark .pillar h3{color:#fff}body.dark .pillar li{color:#ccc}body.dark .case-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);box-shadow:none}body.dark .case-body h3{color:#fff}body.dark .case-body p{color:#ccc}body.dark .case-media img{opacity:.9}body.dark .tools h2{color:#fff}body.dark .tool-list,body.dark .tool-list li{color:#ccc}body.dark .category-cta{background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}body.dark .category-cta p{color:#ccc}body.dark .btn:hover{background:#2a84ff}body.dark .btn-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3)}body.dark .btn-ghost:hover{background:#ffffff1a}body.dark a{color:#4da3ff}body.dark a:hover{color:#70b8ff}@media (max-width: 960px){.stat-grid{grid-template-columns:repeat(2,1fr)}.pillars,.case-card{grid-template-columns:1fr}.case-media img{height:200px}.category-cta{flex-direction:column;align-items:flex-start}}.software-page{max-width:1000px;margin:0 auto;padding:2.5rem 1.25rem 4rem}.software-hero h1{text-align:center;font-size:clamp(1.9rem,4vw,2.6rem);line-height:1.1;margin-bottom:.5rem}.software-hero p{text-align:center;color:#444;max-width:55em;margin-bottom:3rem}.software-section{margin-top:3rem}.software-section h2{text-align:center;font-size:1.6rem;margin-bottom:.25rem}.software-section p{text-align:center;color:#555;max-width:55em;margin-bottom:3rem}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}.project-card{background:#fff;border:1px solid #eee;border-radius:14px;box-shadow:0 2px 8px #0000000a;padding:1rem;transition:transform .2s ease,box-shadow .2s ease}.project-card .tag{display:inline-block;background:#e5f0ff;color:#1a4aff;font-size:.75rem;padding:.15rem .45rem;border-radius:6px;margin-bottom:.4rem}.tag{display:inline-block;background:#e5f0ff;color:#1a4aff;font-size:.75rem;font-weight:600;padding:.2rem .5rem;border-radius:6px;margin:.25rem 0 .75rem}.project-card a{color:inherit;text-decoration:none;display:block}.project-card a:hover{text-decoration:none}.project-card:hover{transform:translateY(-3px);box-shadow:0 4px 12px #00000014}.project-card img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px}.project-card h3{margin:.25rem 0;font-size:1.1rem}.project-card p{text-align:left;font-size:.95rem;color:#444;line-height:1.5}body.dark .tag{background:#1a73e826;color:#7ab4ff}.automation-list{padding-left:1.25rem;color:#444;line-height:1.6;margin-bottom:2rem}.automation-list li{margin-bottom:.5rem}.software-cta{margin-top:2rem;padding:1.25rem;border:1px solid #eee;border-radius:16px;background:#fafafa;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.software-cta p{margin:0;color:#333;max-width:60ch}.btn{background:#111827;color:#fff;text-decoration:none;font-weight:600;padding:.6rem 1rem;border-radius:10px;transition:opacity .2s ease}.btn:hover{opacity:.9}.tech-stack{display:flex;justify-content:center;flex-direction:row;gap:1.5rem;margin:1.5rem 0}.tech-stack img{width:5em;height:5em;transition:transform .2s ease}.tech-stack img:hover{transform:scale(1.1);opacity:1}body.dark .software-hero p,body.dark .software-section p,body.dark .automation-list,body.dark .software-cta p{color:#ccc}body.dark .project-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}body.dark .project-card h3{color:#fff}body.dark .software-cta{background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}@media (max-width: 800px){.software-cta{flex-direction:column;align-items:flex-start}}@media (max-width: 600px){.tech-stack img{width:3rem;height:3rem}.tech-stack{flex-wrap:wrap;gap:1rem}.software-page{padding:1.5rem 1rem 2.5rem}.software-cta{padding:1rem;gap:.75rem}.btn{width:100%;text-align:center}.software-hero{margin-top:.5rem}.software-hero p,.software-section p{font-size:.95rem;line-height:1.55}.project-grid{gap:1.75rem}.project-card{padding:1.25rem}}.category-page{max-width:1000px;margin:0 auto;padding:2.5rem 1.25rem 4rem}.category-hero h1{font-size:clamp(1.9rem,4vw,2.6rem);line-height:1.1;margin-bottom:.5rem}.category-tagline{color:#555;max-width:48ch}.category-intro p{color:#333;margin-top:1.25rem;line-height:1.6}.stat-grid{margin:2rem 0;display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.stat{background:#fafafa;border:1px solid #eee;border-radius:14px;padding:1rem;text-align:center}.stat-num{font-weight:700;font-size:1rem;display:block}.stat-label{font-size:.9rem;color:#666;display:block}.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2.5rem}.pillar{background:#fff;border-radius:14px;border:1px solid #eee;padding:1rem}.pillar h3{margin-bottom:.5rem}.pillar li{margin:.25rem 0;color:#444}.case-card{display:grid;grid-template-columns:380px 1fr;gap:1rem;border:1px solid #eee;border-radius:16px;background:#fff;padding:1rem;margin:1rem 0}.case-media img{width:100%;height:220px;object-fit:cover;border-radius:12px}.case-body h3{margin-bottom:.4rem}.case-body p{color:#333;margin-bottom:.8rem}.btn{display:inline-block;padding:.6rem .9rem;border-radius:10px;background:#111827;color:#fff;text-decoration:none;font-weight:600}.btn-ghost{background:#f4f5f7;color:#111827}body.dark .category-intro p,body.dark .pillar li,body.dark .case-body p{color:#ccc}body.dark .case-card,body.dark .pillar,body.dark .stat{background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}body.dark .category-tagline,body.dark .stat-label{color:#aaa}body.dark .btn{background:#1a73e8;color:#fff}body.dark .btn-ghost{background:transparent;border:1px solid rgba(255,255,255,.2);color:#fff}@media (max-width: 960px){.stat-grid{grid-template-columns:repeat(2,1fr)}.pillars,.case-card{grid-template-columns:1fr}}:root{--bg: #ffffff;--bg-2: #f5f7fa;--border: #e5e5e5;--text: #1a1a1a;--text-muted: #888888;--shadow: rgba(0, 0, 0, .08)}.dark{--bg: #1c1c1c;--bg-2: #2a2a2a;--border: #3a3a3a;--text: #e6e6e6;--text-muted: #999999;--shadow: rgba(0, 0, 0, .35)}.ski-wrapper{max-width:900px;margin:0 auto;padding:24px;color:var(--text)}.ski-title{font-size:2rem;font-weight:700;margin-bottom:20px;text-align:center;color:var(--text)}.region-controls{display:flex;justify-content:center;margin-bottom:20px}.region-controls select{padding:6px 12px;margin-left:8px;font-size:1rem;background:var(--bg-2);border:1px solid var(--border);color:var(--text);border-radius:6px}.ski-table-container{overflow-x:auto;border-radius:8px;background:var(--bg);box-shadow:0 0 12px var(--shadow);border:1px solid var(--border)}.ski-table{width:100%;border-collapse:collapse;min-width:600px;color:var(--text)}.ski-table thead{background:var(--bg-2)}.ski-table th,.ski-table td{padding:12px 14px;text-align:left;font-size:.95rem;border-bottom:1px solid var(--border)}.ski-resort-name{font-weight:600}.last-updated{color:var(--text);font-size:.9rem;margin-bottom:12px;padding-left:4px;opacity:1}.placeholder{color:var(--text-muted)}.ski-table tbody tr:hover{background:var(--bg-2);cursor:pointer;transition:background .15s}.resort-link{font-weight:600;color:var(--text);text-decoration:underline}.resort-link.disabled{color:var(--text-muted);text-decoration:none;pointer-events:none}.ski-note{font-size:.9rem;margin-bottom:12px;color:var(--text-muted)}tr{border-radius:6px}tr:hover{background:var(--bg-2);transform:translateY(-1px)}.snow-icon{opacity:.8;margin-left:4px}.snow-alert{color:#f66;font-weight:600}@media (max-width: 600px){.ski-table th,.ski-table td{padding:8px;font-size:.85rem}.ski-table{min-width:100%}.ski-table-container{margin-top:12px}.ski-wrapper{padding:16px}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{overflow-y:scroll}*{box-sizing:border-box}a{font-weight:500;color:#213547;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#213547}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
