:root{--color-white: #ffffff;--color-alabaster: #f8f7f4;--color-cream: #f3f1ec;--color-stone: #e0ddd6;--color-warm-gray: #a8a29e;--color-charcoal: #2c2c2c;--color-black: #111111;--color-brass: #c9a84c;--color-brass-light: #d4ba6c;--color-brass-dark: #b08d3a;--font-serif: "Playfair Display", serif;--font-sans: "Inter", sans-serif;--spacing-section: clamp(5rem, 10vw, 5rem);--spacing-container: clamp(1.5rem, 5vw, 4rem);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--duration-slow: .8s;--duration-base: .4s;--duration-fast: .2s}*{margin:0;padding:0;box-sizing:border-box}::selection{background-color:var(--color-brass);color:var(--color-white)}html{scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--color-charcoal);background-color:var(--color-white);line-height:1.7;font-weight:300;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:400;color:var(--color-black);line-height:1.15;margin-bottom:1rem;letter-spacing:-.02em}h1{font-size:clamp(2.8rem,5.5vw,5.5rem)}h2{font-size:clamp(2rem,3.5vw,3.2rem)}h3{font-size:clamp(1.4rem,2vw,2rem)}h4{font-size:clamp(1.1rem,1.5vw,1.4rem)}p{margin-bottom:1.5rem;color:var(--color-charcoal)}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.container{width:100%;max-width:1440px;margin:0 auto;padding-left:var(--spacing-container);padding-right:var(--spacing-container)}.container--narrow{max-width:960px}.container--wide{max-width:1600px}.section{padding-top:var(--spacing-section);padding-bottom:var(--spacing-section)}.text-brass{color:var(--color-brass)}.text-center{text-align:center}.bg-dark{background-color:var(--color-black);color:var(--color-white)}.bg-dark h1,.bg-dark h2,.bg-dark h3,.bg-dark h4{color:var(--color-white)}.bg-dark p{color:var(--color-stone)}.bg-cream{background-color:var(--color-cream)}.eyebrow{font-family:var(--font-sans);font-weight:500;font-size:.85rem;letter-spacing:.15em;text-transform:uppercase;color:var(--color-brass);margin-bottom:1.5rem;display:block}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;font-family:var(--font-sans);font-weight:500;letter-spacing:.1em;text-transform:uppercase;font-size:.75rem;padding:1rem 2.5rem;border:1px solid var(--color-charcoal);background-color:transparent;color:var(--color-charcoal);transition:all var(--duration-base) var(--ease-out-quart);cursor:pointer;white-space:nowrap}.btn:hover{background-color:var(--color-charcoal);color:var(--color-white)}.btn-primary{background-color:var(--color-black);color:var(--color-white);border-color:var(--color-black)}.btn-primary:hover{background-color:var(--color-brass);border-color:var(--color-brass);color:var(--color-white)}.btn-accent{background-color:var(--color-brass);color:var(--color-white);border-color:var(--color-brass)}.btn-accent:hover{background-color:var(--color-brass-dark);border-color:var(--color-brass-dark)}.btn-ghost{border-color:#ffffff4d;color:var(--color-white)}.btn-ghost:hover{border-color:var(--color-brass);color:var(--color-brass);background-color:transparent}.divider{width:60px;height:1px;background-color:var(--color-brass);border:none;margin:2rem 0}.divider--center{margin-left:auto;margin-right:auto}.nav-desktop{display:none;gap:2.5rem;align-items:center}@media (min-width: 768px){.nav-desktop{display:flex}}.form-input{padding:.9rem 1rem;border:1px solid var(--color-stone);background-color:var(--color-white);font-family:var(--font-sans);font-size:.95rem;font-weight:300;color:var(--color-charcoal);transition:border-color var(--duration-fast) ease;outline:none;width:100%}.form-input:focus{border-color:var(--color-brass)}.form-input::placeholder{color:var(--color-warm-gray)}.form-label{font-weight:500;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;color:var(--color-charcoal);margin-bottom:.5rem;display:block}.grid-2{display:grid;grid-template-columns:1fr;gap:3rem}@media (min-width: 768px){.grid-2{grid-template-columns:1fr 1fr;gap:4rem}}.grid-3{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width: 640px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.grid-3{grid-template-columns:repeat(3,1fr)}}.mobile-menu-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:.5rem;color:var(--color-charcoal)}@media (min-width: 768px){.mobile-menu-btn{display:none}}.img-cover{width:100%;height:100%;object-fit:cover;display:block;vertical-align:top}.process-row{flex-direction:column}@media (min-width: 768px){.process-row{flex-direction:row}}.form-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width: 768px){.form-grid{grid-template-columns:1fr 1fr}}.portfolio-header-inner{flex-direction:column;gap:1.5rem;align-items:flex-start}.portfolio-content{flex-direction:column}.portfolio-image{height:350px}@media (min-width: 768px){.portfolio-header-inner{flex-direction:row;align-items:flex-end}.portfolio-content{flex-direction:row}.portfolio-image{height:500px}}.capability-card{border:1px solid rgba(255,255,255,.1);padding:2.5rem 2rem;text-align:center;transition:all var(--duration-base) var(--ease-out-quart);cursor:default;position:relative;overflow:hidden}.capability-card:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background-color:var(--color-brass);transform:scaleX(0);transform-origin:left;transition:transform var(--duration-base) var(--ease-out-quart)}.capability-card:hover{border-color:#fff3}.capability-card:hover:after{transform:scaleX(1)}.capability-card--image{position:relative;min-height:280px;display:flex;align-items:flex-end;padding:0;border:none}.capability-card__bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;transition:transform var(--duration-slow) var(--ease-out-expo)}.capability-card--image:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#111111d9,#1111114d,#1111111a);z-index:1;transition:background var(--duration-base) ease}.capability-card--image:hover .capability-card__bg{transform:scale(1.06)}.capability-card--image:hover:before{background:linear-gradient(to top,#111111e6,#11111173,#1113)}.capability-card__content{position:relative;z-index:2;padding:2rem;width:100%}.featured-project-images{display:grid;grid-template-columns:1fr}.featured-project-images>div{aspect-ratio:5 / 3}@media (min-width: 640px){.featured-project-images{grid-template-columns:repeat(3,1fr);height:clamp(280px,30vw,420px)}.featured-project-images>div{aspect-ratio:auto;height:100%}}.featured-project-card:hover img{transform:scale(1.04)}
