:root{--bg: #faf8f3;--bg-sand: #e9e0c8;--bg-sand-soft: #f0e8d4;--bg-dark: #1e2e2e;--bg-deeper: #14201f;--text: #1e2e2e;--text-muted: #5d6868;--text-light: #faf8f3;--accent: #b8825a;--accent-deep: #946449;--border: #d9d1bd;--hairline-dark: rgba(184, 130, 90, .3);--max-width: 1240px;--content-width: 780px;--font-display: "Source Serif 4", "Source Serif Pro", Georgia, serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}img{max-width:100%;display:block}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}.container{max-width:var(--max-width);margin:0 auto;padding:0 2rem}.narrow{max-width:var(--content-width);margin-left:auto;margin-right:auto}header.site{position:absolute;top:0;left:0;right:0;padding:1.75rem 0;z-index:10}header.site .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}header.site .wordmark{font-family:var(--font-display);font-size:1.625rem;font-weight:600;letter-spacing:-.005em;color:var(--text-light);text-decoration:none}header.site nav{font-size:.8125rem;letter-spacing:.1em;text-transform:uppercase}header.site nav a{color:#faf8f3cc;text-decoration:none;margin-left:1.75rem;transition:color .2s}header.site nav a:hover{color:var(--accent)}.hero{position:relative;min-height:95vh;display:flex;align-items:center;background:linear-gradient(180deg,#1e2e2e8c,#1e2e2ebf),url(https://images.unsplash.com/photo-1487214626629-b7eaa70441b2?w=2400&q=80&fm=jpg&fit=crop) center/cover no-repeat;color:var(--text-light)}.hero .content{max-width:920px;padding:7rem 2rem 5rem}.hero .eyebrow{display:inline-block;font-family:var(--font-body);font-size:.8125rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:1.5rem}.hero h1{font-family:var(--font-display);font-size:clamp(2.5rem,5.5vw,4.5rem);font-weight:600;line-height:1.1;letter-spacing:-.02em;margin-bottom:1.5rem}.hero h1 em{font-style:italic;font-weight:400;color:var(--accent)}.hero p.tagline{font-size:clamp(1.125rem,1.5vw,1.375rem);line-height:1.55;color:#faf8f3e0;max-width:640px}.hero .offices{margin-top:3rem;display:flex;gap:2rem;flex-wrap:wrap;border-top:1px solid rgba(184,130,90,.35);padding-top:1.5rem}.hero .offices div{font-family:var(--font-display);font-size:1.0625rem;font-style:italic}.hero .offices div small{display:block;font-family:var(--font-body);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-style:normal;margin-bottom:.25rem}section.band{padding:6rem 0}section.band.sand{background:var(--bg-sand-soft)}section.band.dark{background:var(--bg-dark);color:var(--text-light)}.eyebrow{display:inline-block;font-family:var(--font-body);font-size:.75rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem}h2{font-family:var(--font-display);font-size:clamp(1.875rem,3.25vw,2.75rem);font-weight:600;line-height:1.15;margin-bottom:1.25rem;letter-spacing:-.015em;color:var(--text)}h2 em{font-style:italic;font-weight:400;color:var(--accent)}section.band.dark h2{color:var(--text-light)}h3{font-family:var(--font-display);font-size:1.5rem;font-weight:600;line-height:1.25;margin:1.5rem 0 .75rem;color:var(--text)}section.band.dark h3{color:var(--text-light)}p{margin-bottom:1.25rem}p.lede{font-family:var(--font-display);font-size:clamp(1.25rem,1.7vw,1.5rem);line-height:1.5;color:var(--text-muted);margin-bottom:2rem;max-width:700px}section.band.dark p.lede{color:#faf8f3c7}a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(184,130,90,.4);transition:border-color .2s}a:hover{border-bottom-color:var(--accent)}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border);border:1px solid var(--border);margin-top:3rem}.service-card{background:var(--bg);padding:2.5rem 2rem;display:flex;flex-direction:column}.service-card .num{font-family:var(--font-display);font-size:1rem;font-style:italic;color:var(--accent);margin-bottom:.75rem}.service-card h3{margin-top:0;margin-bottom:1rem}.service-card p{color:var(--text-muted);font-size:.9375rem;flex:1;margin-bottom:1.25rem}.feature{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;margin:4rem 0}.feature:nth-child(2n) .feature-text{order:2}.feature-image{position:relative;aspect-ratio:4 / 5;overflow:hidden}.feature-image img{width:100%;height:100%;object-fit:cover}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem}.project-card{background:var(--bg-dark);color:var(--text-light);position:relative;aspect-ratio:4 / 5;overflow:hidden;transition:transform .3s}.project-card:hover{transform:translateY(-4px)}.project-card .bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.6}.project-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#14201f00,#14201fd9)}.project-card .label{position:absolute;bottom:1.5rem;left:1.5rem;right:1.5rem;z-index:2}.project-card .label .place{font-family:var(--font-body);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin-bottom:.25rem}.project-card .label h3{color:var(--text-light);font-size:1.25rem;margin:0}.page-header{position:relative;padding:10rem 0 5rem;background:var(--bg-dark);color:var(--text-light);overflow:hidden}.page-header:before{content:"";position:absolute;inset:0;background-image:var(--header-bg, none);background-size:cover;background-position:center;opacity:.35;z-index:0}.page-header .container{position:relative;z-index:1}.page-header h1{font-family:var(--font-display);font-size:clamp(2.25rem,4.5vw,3.5rem);font-weight:600;line-height:1.15;margin-bottom:1rem;letter-spacing:-.015em;max-width:880px;color:var(--text-light)}.page-header h1 em{font-style:italic;font-weight:400;color:var(--accent)}.page-header .subtitle{font-family:var(--font-display);font-size:1.25rem;font-style:italic;color:#faf8f3cc;max-width:700px}.service-block{padding:3rem 0;border-bottom:1px solid var(--border)}.service-block:last-child{border-bottom:none}.service-block .anchor{display:block;position:relative;top:-2rem;visibility:hidden}.service-block .label{font-family:var(--font-display);font-size:.9375rem;font-style:italic;color:var(--accent);margin-bottom:.5rem}ul{padding-left:1.5rem;margin-bottom:1.25rem}li{margin-bottom:.5rem}blockquote{border-left:2px solid var(--accent);padding:.5rem 1.5rem;margin:1.75rem 0;color:var(--text-muted);font-family:var(--font-display);font-style:italic;font-size:1.125rem}.btn{display:inline-block;padding:.875rem 2rem;font-family:var(--font-body);font-weight:500;font-size:.8125rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s,border-color .2s;border:1px solid var(--accent);background:transparent;color:var(--accent)}.btn:hover{background:var(--accent);color:var(--text-light);border-bottom:1px solid var(--accent)}.btn.primary{background:var(--accent);color:var(--text-light)}.btn.primary:hover{background:var(--accent-deep);border-color:var(--accent-deep)}.btn.dark-bg{color:var(--text-light);border-color:#faf8f380}.btn.dark-bg:hover{background:var(--text-light);color:var(--bg-dark);border-color:var(--text-light)}.cta-row{display:flex;gap:1rem;margin-top:2rem;flex-wrap:wrap}footer.site{background:var(--bg-deeper);color:var(--text-light);padding:4rem 0 2rem}footer.site .row{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2.5rem;margin-bottom:3rem}footer.site .row h4{font-family:var(--font-body);font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;font-weight:500;color:var(--accent);margin-bottom:1rem}footer.site .row a,footer.site .row p{display:block;color:#faf8f3d9;margin-bottom:.5rem;border:none;font-size:.9375rem;line-height:1.55}footer.site .row a:hover{color:var(--accent)}footer.site .legal{border-top:1px solid rgba(250,248,243,.12);padding-top:1.5rem;font-size:.75rem;color:#faf8f38c;letter-spacing:.06em}@media(max-width:880px){.service-grid,.project-grid{grid-template-columns:1fr}.feature{grid-template-columns:1fr;gap:2rem;margin:2.5rem 0}.feature:nth-child(2n) .feature-text{order:0}.feature-image{aspect-ratio:16 / 11}footer.site .row{grid-template-columns:1fr 1fr;gap:2rem}.hero .content{padding:5rem 2rem 3rem}section.band{padding:4rem 0}header.site nav a{margin-left:1rem;font-size:.6875rem}}@media print{body{background:#fff;color:#000}header.site,footer.site,.hero{display:none}}
