:root{--color-primary: #4A5F3E;--color-secondary: #1E4D7B;--color-accent: #D4A84B;--color-dark-green: #273120;--color-dark-navy: #0f263e;--color-light-navy: #5B7FA6;--color-off-white: #F9F9F7;--color-warm-gray: #e2e2d9;--color-text: #111827;--color-text-muted: #6b7280;--color-white: #ffffff;--font-serif: "Libre Baskerville", Georgia, serif;--font-sans: "Roboto", -apple-system, BlinkMacSystemFont, sans-serif;--space-xs: 8px;--space-sm: 12px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--shadow-sm: 0px 2px 8px rgba(30, 77, 123, .1);--shadow-md: 0px 4px 12px rgba(30, 77, 123, .15);--shadow-lg: 0px 8px 24px rgba(30, 77, 123, .2);--radius: 8px;--radius-sm: 4px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-off-white);line-height:1.6;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}h1,h2,h3{font-family:var(--font-serif);font-weight:400;line-height:1.3}h1{font-size:2.5rem}h2{font-size:1.75rem}h3{font-size:1.25rem}.container{max-width:1100px;margin:0 auto;padding:0 var(--space-lg)}.section{padding:var(--space-3xl) 0}.section--light{background:var(--color-white)}.section--dark{background:var(--color-dark-green);color:var(--color-white)}.section--navy{background:var(--color-dark-navy);color:var(--color-white)}.section__title{margin-bottom:var(--space-md)}.section__title--light{color:var(--color-white)}.section__subtitle{font-family:var(--font-sans);font-size:1.1rem;color:var(--color-text-muted);margin-bottom:var(--space-2xl);max-width:640px}.section__subtitle--light{color:var(--color-warm-gray)}.nav{position:sticky;top:0;z-index:1000;background:var(--color-primary);color:var(--color-white)}.nav__inner{max-width:1100px;margin:0 auto;padding:var(--space-sm) var(--space-lg);display:flex;align-items:center;justify-content:space-between}.nav__brand{font-family:var(--font-serif);font-size:1.15rem;color:var(--color-white);text-decoration:none}.nav__llc{font-family:var(--font-sans);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;opacity:.7;vertical-align:super}.nav__links{display:flex;align-items:center;gap:var(--space-lg)}.nav__links button{background:none;border:none;color:var(--color-white);font-family:var(--font-sans);font-size:.95rem;cursor:pointer;padding:var(--space-xs) 0;transition:color .2s}.nav__links button:hover{color:var(--color-accent)}.nav__cta{background:var(--color-accent)!important;color:var(--color-dark-green)!important;padding:var(--space-xs) var(--space-md)!important;border-radius:var(--radius-sm);font-weight:600}.nav__cta:hover{opacity:.9;color:var(--color-dark-green)!important}.nav__toggle{display:none;background:none;border:none;cursor:pointer;padding:var(--space-xs)}.nav__hamburger{display:block;width:24px;height:2px;background:var(--color-white);position:relative;transition:background .2s}.nav__hamburger:before,.nav__hamburger:after{content:"";position:absolute;width:24px;height:2px;background:var(--color-white);left:0;transition:transform .2s}.nav__hamburger:before{top:-7px}.nav__hamburger:after{top:7px}.nav__hamburger--open{background:transparent}.nav__hamburger--open:before{transform:rotate(45deg);top:0}.nav__hamburger--open:after{transform:rotate(-45deg);top:0}.hero{position:relative;min-height:70vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-dark-green) 50%,var(--color-dark-navy) 100%);overflow:hidden}.hero__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 30% 50%,rgba(74,95,62,.3) 0%,transparent 60%),radial-gradient(ellipse at 70% 50%,rgba(30,77,123,.2) 0%,transparent 60%)}.hero__content{position:relative;z-index:1;text-align:center;padding:var(--space-3xl) var(--space-lg);max-width:800px}.hero__kicker{font-family:var(--font-sans);font-size:.85rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-lg)}.hero__title{color:var(--color-white);font-size:2.75rem;margin-bottom:var(--space-lg)}.hero__subtitle{font-family:var(--font-sans);font-size:1.15rem;color:var(--color-warm-gray);margin-bottom:var(--space-xl);line-height:1.7}.hero__actions{display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap}.btn{display:inline-block;padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;border:2px solid transparent;text-align:center}.btn--primary{background:var(--color-accent);color:var(--color-dark-green)}.btn--primary:hover{opacity:.9;transform:translateY(-1px)}.btn--secondary{background:transparent;color:var(--color-white);border-color:var(--color-white)}.btn--secondary:hover{background:#ffffff1a}.btn--outline{background:transparent;color:var(--color-accent);border-color:var(--color-accent);font-size:.9rem;padding:var(--space-xs) var(--space-md)}.btn--outline:hover{background:var(--color-accent);color:var(--color-dark-green)}.about{display:grid;grid-template-columns:1fr 300px;gap:var(--space-3xl);align-items:start}.about__text p{margin-bottom:var(--space-md);font-size:1.05rem;line-height:1.7;color:var(--color-text)}.about__stats{display:flex;flex-direction:column;gap:var(--space-lg)}.stat{background:var(--color-off-white);padding:var(--space-lg);border-radius:var(--radius);text-align:center;border-left:4px solid var(--color-accent)}.stat__number{display:block;font-family:var(--font-serif);font-size:2rem;color:var(--color-accent);margin-bottom:4px}.stat__label{font-family:var(--font-sans);font-size:.85rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.projects{display:flex;flex-direction:column;gap:var(--space-3xl)}.project-card{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2xl);align-items:start;background:#ffffff0a;border-radius:var(--radius);overflow:hidden;border:1px solid rgba(255,255,255,.08)}.project-card--reverse{direction:rtl}.project-card--reverse>*{direction:ltr}.project-card__image-link{display:block;overflow:hidden;border-radius:var(--radius) 0 0 var(--radius);aspect-ratio:16 / 10;position:relative;background:var(--color-dark-navy)}.project-card--reverse .project-card__image-link{border-radius:0 var(--radius) var(--radius) 0}.project-card__image{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .3s}.project-card__image-link:hover .project-card__image{transform:scale(1.03)}.project-card__content{padding:var(--space-xl)}.project-card__header{display:flex;align-items:baseline;gap:var(--space-md);margin-bottom:var(--space-xs)}.project-card__name{font-size:1.5rem;color:var(--color-white)}.project-card__status{font-family:var(--font-sans);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.project-card__oneliner{font-family:var(--font-serif);font-style:italic;color:var(--color-accent);margin-bottom:var(--space-md);font-size:1.05rem}.project-card__description{color:var(--color-warm-gray);font-size:.9rem;line-height:1.7;margin-bottom:var(--space-md)}.project-card__features{margin-bottom:var(--space-md)}.project-card__features li{color:var(--color-warm-gray);font-size:.85rem;padding:4px 0;padding-left:var(--space-md);position:relative}.project-card__features li:before{content:"";position:absolute;left:0;top:11px;width:6px;height:6px;background:var(--color-accent);border-radius:50%}.project-card__stack{color:var(--color-light-navy);font-size:.8rem;margin-bottom:var(--space-md)}.project-card__stack strong{color:var(--color-warm-gray)}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg);max-width:800px;margin:0 auto}.contact-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:var(--space-xl);text-align:center;transition:all .2s}.contact-card:hover{background:#ffffff14;border-color:var(--color-accent);transform:translateY(-2px)}.contact-card__icon{width:48px;height:48px;background:var(--color-primary);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-md);font-family:var(--font-sans);font-weight:700;font-size:.9rem;color:var(--color-white)}.contact-card h3{color:var(--color-white);margin-bottom:var(--space-xs);font-size:1.1rem}.contact-card p{color:var(--color-light-navy);font-size:.85rem}.footer{background:var(--color-dark-green);color:var(--color-warm-gray);padding:var(--space-2xl) 0;border-top:1px solid rgba(255,255,255,.08)}.footer__inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-md)}.footer__name{font-family:var(--font-serif);font-size:1rem;color:var(--color-white)}.footer__tagline{font-size:.8rem;color:var(--color-text-muted)}.footer__links{display:flex;gap:var(--space-lg)}.footer__links a{font-size:.9rem;color:var(--color-warm-gray);transition:color .2s}.footer__links a:hover{color:var(--color-accent)}.footer__copy{width:100%;text-align:center;font-size:.75rem;color:var(--color-text-muted);margin-top:var(--space-md)}@media (max-width: 768px){h1{font-size:1.75rem}h2{font-size:1.4rem}.hero{min-height:60vh}.hero__title{font-size:1.85rem}.hero__subtitle{font-size:1rem}.nav__toggle{display:block}.nav__links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--color-primary);flex-direction:column;padding:var(--space-md) var(--space-lg);gap:var(--space-sm);border-top:1px solid rgba(255,255,255,.1)}.nav__links--open{display:flex}.about{grid-template-columns:1fr;gap:var(--space-xl)}.about__stats{flex-direction:row;justify-content:center}.project-card{grid-template-columns:1fr}.project-card--reverse{direction:ltr}.project-card__image-link{border-radius:var(--radius) var(--radius) 0 0;aspect-ratio:16 / 9}.project-card--reverse .project-card__image-link{border-radius:var(--radius) var(--radius) 0 0}.contact-grid{grid-template-columns:1fr}.footer__inner{flex-direction:column;text-align:center}.btn{width:100%}.hero__actions{flex-direction:column;align-items:center}}
