:root{--color-bg:#141a13;--color-surface:#1c2419;--color-surface-raised:#283422;--color-accent:#8aac78;--color-accent-light:#adc49d;--color-text:#f0ece0;--color-text-muted:#8a9480;--color-text-dark:#141a13;--color-border:#2d3d28;--font-base:"Lato", sans-serif;--font-heading:"Fredericka the Great", serif;--font-size-base:1rem}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-base);background-color:var(--color-bg);color:var(--color-text);font-size:var(--font-size-base)}h1,h2,h3{font-family:var(--font-heading);font-weight:400}.scroll-arrow{display:none}@media (width>=1400px){.app-wrapper{flex-direction:column;height:100vh;display:flex;overflow:hidden}.scroll-container{scroll-snap-type:x mandatory;scrollbar-width:none;flex-direction:row;flex:1;min-height:0;display:flex;overflow:scroll hidden}.scroll-container::-webkit-scrollbar{display:none}.scroll-container>*{scroll-snap-align:start;flex-shrink:0;width:50vw;height:100%;overflow-y:auto}.scroll-arrow{z-index:200;cursor:pointer;opacity:.7;background:0 0;border:none;padding:0;transition:opacity .2s;display:block;position:fixed;top:50%;transform:translateY(-50%)}.scroll-arrow img{width:48px;height:auto;display:block}.scroll-arrow--left{left:1rem}.scroll-arrow--right{right:1rem}.scroll-arrow--left img{transform:scaleX(-1)}.scroll-arrow:hover{opacity:1}}nav{z-index:100;background-color:var(--color-surface);border-bottom:2px solid var(--color-accent);justify-content:space-between;align-items:center;padding:.2rem 3rem;display:flex;position:sticky;top:0}.nav-brand{align-items:center;text-decoration:none;display:flex}.nav-logo{width:auto;height:80px;display:block}.nav-links{align-items:center;list-style:none;display:flex}.nav-link{color:var(--color-text);letter-spacing:.12em;text-transform:uppercase;margin:0 1rem;font-size:.85rem;font-weight:700;text-decoration:none;transition:color .2s}.nav-link:hover{color:var(--color-accent)}.nav-toggle{cursor:pointer;color:var(--color-text);background:0 0;border:none;font-size:1.5rem;display:none}@media (width<=768px){nav{flex-wrap:wrap;padding:1rem 1.5rem}.nav-toggle{display:block}.nav-links{flex-direction:column;align-items:center;gap:1rem;width:100%;padding:1rem 0;display:none}.nav-links.open{display:flex}}.hero{text-align:center;background-image:linear-gradient(#141a1359,#141a1359),url(/chalkboard.jpg);background-position:50%;background-size:cover;flex-direction:column;justify-content:center;align-items:center;max-width:2200px;min-height:85vh;padding:6rem 2rem;display:flex;position:relative;overflow:hidden}.chalk-terminal-bg{z-index:0;color:#f0ece0;opacity:.18;white-space:pre-wrap;pointer-events:none;text-align:left;column-count:5;column-gap:.5rem;padding:3rem;font-family:Courier New,monospace;font-size:.75rem;line-height:1.9;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:radial-gradient(65% 65%,#0000 0% 18%,#00000059 42%,#000 72%);mask-image:radial-gradient(65% 65%,#0000 0% 18%,#00000059 42%,#000 72%)}.hero-content{z-index:1;flex-direction:column;align-items:center;display:flex;position:relative}.hero-title{color:var(--color-text);margin-bottom:1.5rem;font-family:Fredericka the Great,serif;font-size:clamp(2.25rem,8vw,5rem);font-weight:400;line-height:1.1}.hero-divider{background-color:var(--color-accent);width:60px;height:2px;margin-bottom:2rem}.hero-tagline{color:var(--color-text-muted);letter-spacing:.08em;margin-bottom:3rem;font-family:Fredericka the Great,serif;font-size:clamp(1rem,3.5vw,2rem);font-style:italic;font-weight:400}.hero-cta{color:var(--color-accent);border:2px solid var(--color-accent);letter-spacing:.12em;text-transform:uppercase;background-color:#0000;border-radius:2px;padding:.85rem 2.5rem;font-size:.85rem;font-weight:700;text-decoration:none;transition:background-color .3s,color .3s}.hero-cta:hover{background-color:var(--color-accent);color:var(--color-text-dark)}@media (width<=768px){.hero{background-image:linear-gradient(#141a1373,#141a1373),url(/chalkboard.jpg);min-height:800px;max-height:800px;padding:4rem 1.5rem}.chalk-terminal-bg{column-count:2;font-size:.6rem;-webkit-mask-image:linear-gradient(#000 0%,#0000 30% 70%,#000 100%);mask-image:linear-gradient(#000 0%,#0000 30% 70%,#000 100%)}}.about{text-align:center;background-image:linear-gradient(#1c2419ed,#1c2419ed),url(/chalkboard.jpg);background-size:cover;padding:6rem 2rem}.about-inner{max-width:700px;margin:0 auto}.about h2{color:var(--color-text);margin-bottom:1rem;font-size:2.5rem}.about-rule{background-color:var(--color-accent);width:40px;height:2px;margin:0 auto 2rem}.about p{color:var(--color-text-muted);text-align:left;margin-bottom:1.25rem;font-size:1.1rem;line-height:1.9}.about p:last-child{margin-bottom:0}.about-contact-btn{color:var(--color-accent);border:2px solid var(--color-accent);letter-spacing:.12em;text-transform:uppercase;background-color:#0000;border-radius:2px;margin-top:2rem;padding:.85rem 2.5rem;font-size:.85rem;font-weight:700;text-decoration:none;transition:background-color .3s,color .3s;display:inline-block}.about-contact-btn:hover{background-color:var(--color-accent);color:var(--color-text-dark)}@media (width>=1400px){.about{box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex}}@media (width<=768px){.about{padding:4rem 1.5rem}.about h2{font-size:2rem}.about p{font-size:1rem}}.team{text-align:center;background-image:linear-gradient(#141a13f5,#141a13f5),url(/chalkboard.jpg);background-size:cover;padding:6rem 2rem}.team-title{color:var(--color-text);margin-bottom:1rem;font-size:2.5rem}.team-rule{background-color:var(--color-accent);width:40px;height:2px;margin:0 auto 3rem}.team-members{grid-template-columns:repeat(3,1fr);gap:2rem;max-width:1100px;margin:0 auto;display:grid}.team-member{background-color:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:4px;flex-direction:column;align-items:center;gap:.75rem;padding:2.5rem 2rem;transition:transform .25s,border-color .25s;display:flex;box-shadow:0 4px 24px #00000080}.team-member:hover{border-color:var(--color-accent);transform:translateY(-5px)}.team-member-name{color:var(--color-text);font-size:1.2rem}.team-member-role{color:var(--color-accent);letter-spacing:.12em;text-transform:uppercase;font-size:.8rem}.team-member-bio{color:var(--color-text-muted);font-size:.9rem;line-height:1.8}.team-member-portfolio{color:var(--color-accent);border:2px solid var(--color-accent);letter-spacing:.12em;text-transform:uppercase;background-color:#0000;border-radius:2px;margin-top:auto;padding:.85rem 2.5rem;font-size:.85rem;font-weight:700;text-decoration:none;transition:background-color .3s,color .3s;display:inline-block}.team-member-portfolio:hover{background-color:var(--color-accent);color:var(--color-text-dark)}@media (width>=1400px){.team{box-sizing:border-box;flex-direction:column;justify-content:center;height:100%;display:flex}.team-members{max-width:100%}.team-member{min-width:0}}@media (width<=768px){.team{padding:4rem 1.5rem}.team-members{grid-template-columns:1fr}}.projects{text-align:center;background-image:linear-gradient(#1c2419ed,#1c2419ed),url(/chalkboard.jpg);background-size:cover;padding:6rem 2rem}.projects-title{color:var(--color-text);margin-bottom:1rem;font-size:2.5rem}.projects-rule{background-color:var(--color-accent);width:40px;height:2px;margin:0 auto 3rem}.projects-carousel{justify-content:center;align-items:center;gap:2rem;max-width:700px;margin:0 auto;display:flex}.carousel-arrow{cursor:pointer;opacity:.75;background:0 0;border:none;flex-shrink:0;padding:0;transition:opacity .2s,transform .2s}.carousel-arrow:hover{opacity:1;transform:scale(1.1)}.carousel-arrow img{width:3rem;height:auto;display:block}.carousel-arrow--prev img{transform:scaleX(-1)}.side-only{display:flex}.wide-only{display:none}.project-card{background-color:var(--color-surface-raised);border:1px solid var(--color-border);text-align:left;border-radius:4px;flex-direction:column;flex:1;gap:1rem;padding:2rem;transition:border-color .25s;display:flex;box-shadow:0 4px 24px #00000080}.project-card:hover{border-color:var(--color-accent)}.card-image-wrapper{aspect-ratio:16/9;border:2px solid var(--color-accent);border-radius:2px;width:100%;overflow:hidden;box-shadow:0 4px 16px #00000080}.card-image-wrapper a{width:100%;height:100%;display:block}.project-image{object-fit:cover;width:100%;height:100%;display:block}.card-content{flex-direction:column;flex:1;gap:.75rem;display:flex}.project-title{color:var(--color-text);font-size:1.2rem;font-family:var(--font-heading);white-space:nowrap;text-overflow:ellipsis;font-weight:400;overflow:hidden}.project-description{color:var(--color-text-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.9rem;line-height:1.8;display:-webkit-box;overflow:hidden}.project-link{color:var(--color-accent);border:2px solid var(--color-accent);letter-spacing:.12em;text-transform:uppercase;background-color:#0000;border-radius:2px;align-self:flex-start;margin-top:auto;padding:.85rem 2.5rem;font-size:.85rem;font-weight:700;text-decoration:none;transition:background-color .3s,color .3s;display:inline-block}.project-link:hover{background-color:var(--color-accent);color:var(--color-text-dark)}.carousel-nav{justify-content:center;align-items:center;gap:1rem;margin-top:1.75rem;display:flex}.carousel-dots{gap:.6rem;display:flex}.carousel-dot{border:1px solid var(--color-accent);cursor:pointer;background:0 0;border-radius:50%;width:8px;height:8px;padding:0;transition:background-color .25s}.carousel-dot.active{background-color:var(--color-accent)}@media (width>=1400px){.projects{box-sizing:border-box;flex-direction:column;justify-content:center;height:100%;padding:3rem 2.5rem;display:flex;overflow:hidden}.projects-carousel{align-items:stretch;max-width:100%}.project-card{box-sizing:border-box;flex-direction:row;align-items:stretch;gap:2rem;height:340px}.card-image-wrapper{aspect-ratio:unset;flex:0 0 55%;width:auto;height:100%}.card-image-wrapper a{height:100%}.card-content{justify-content:flex-start}.project-description{-webkit-line-clamp:5}.side-only{display:none}.wide-only{display:flex}.carousel-nav{margin-top:1.25rem}.carousel-arrow img{width:2.25rem}}@media (width<=768px){.projects{padding:4rem 1.5rem}.projects-carousel{gap:1rem}.carousel-arrow img{width:2rem}}.footer{background-color:var(--color-surface);border-top:1px solid var(--color-border);text-align:center;flex-direction:column;gap:.75rem;padding:3rem 2rem;display:flex}.footer-brand{font-family:var(--font-heading);color:var(--color-accent);font-size:1.25rem;font-weight:400}.footer-copy{color:var(--color-text-muted);letter-spacing:.05em;font-size:.8rem}.contact{background-color:var(--color-bg);text-align:center;justify-content:center;align-items:center;padding:6rem 2rem;display:flex}.contact-inner{max-width:600px;margin:0 auto}.contact h2{color:var(--color-text);margin-bottom:1rem;font-size:2.5rem}.contact-rule{background-color:var(--color-accent);width:40px;height:2px;margin:0 auto 2rem}.contact p{color:var(--color-text-muted);margin-bottom:2.5rem;font-size:1.1rem;line-height:1.9}.btn--primary{color:var(--color-accent);border:2px solid var(--color-accent);letter-spacing:.12em;text-transform:uppercase;background-color:#0000;border-radius:2px;padding:.85rem 2.5rem;font-size:.85rem;font-weight:700;text-decoration:none;transition:background-color .3s,color .3s;display:inline-block}.btn--primary:hover{background-color:var(--color-accent);color:var(--color-text-dark)}@media (width<=768px){.contact{padding:4rem 1.5rem}.contact h2{font-size:2rem}.contact p{font-size:1rem}}
