@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');

:root{--ink:#1d2927;--paper:#f5f3ee;--sand:#ded5c6;--line:#cfcac0;--muted:#68706c;--accent:#ff611b}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}.site-header{height:104px;max-width:1440px;margin:auto;padding:0 5.5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.logo{font-size:1.48rem;font-weight:600;letter-spacing:.08em;line-height:1}.logo span{display:block;margin-top:6px;font-family:'DM Mono',monospace;font-size:.64rem;font-weight:400;letter-spacing:.28em}.site-header nav{display:flex;gap:2rem;font-size:.86rem}.site-header nav a{padding:7px 0;border-bottom:1px solid transparent}.site-header nav a:hover,.site-header nav .active{border-color:var(--ink)}.nav-cta{font-size:.82rem;border:1px solid var(--ink);padding:.7rem 1rem}.hero{max-width:1440px;margin:auto;padding:7vw 5.5vw 6vw;display:grid;grid-template-columns:1.05fr 1.15fr 25px;gap:4vw;align-items:center}.eyebrow,.card-number,.process-list span,.values span{font-family:'DM Mono',monospace;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}.eyebrow{color:var(--accent);margin:0 0 1.5rem}.hero h1,.page-hero h1,.portfolio-heading h1,.contact-copy h1{font-family:'Playfair Display',serif;font-size:clamp(3.3rem,6.5vw,6.8rem);font-weight:500;line-height:.97;letter-spacing:-.055em;margin:0}.hero h1 em,h1 em{font-weight:500}.intro{max-width:350px;margin:2rem 0 2.2rem;color:var(--muted);font-size:1.05rem}.button{display:inline-flex;gap:2.2rem;align-items:center;background:var(--ink);border:1px solid var(--ink);color:#fff;padding:1.1rem 1.35rem;font:500 .86rem 'DM Mono',monospace;letter-spacing:.04em;cursor:pointer}.button:hover{background:transparent;color:var(--ink)}.button span{font-size:1.15rem;line-height:.6}.image-frame{overflow:hidden}.hero-image{height:min(570px,48vw)}img{display:block;width:100%;height:100%;object-fit:cover}.vertical-label{writing-mode:vertical-rl;align-self:end;margin:0 0 10px;font: .62rem 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.intro-section{padding:9vw 12vw;display:grid;grid-template-columns:1fr 2fr;gap:5vw;background:#e8e4db}.intro-section h2,.story-section h2,.process-section h2,.home-cta h2{font:500 clamp(2.2rem,4vw,4.2rem)/1.08 'Playfair Display',serif;letter-spacing:-.045em;margin:0}.intro-section p:not(.eyebrow){max-width:530px;color:var(--muted);margin:1.5rem 0}.text-link{font-size:.84rem;border-bottom:1px solid var(--ink);padding-bottom:5px}.text-link span{padding-left:1.5rem}.feature-grid{display:grid;grid-template-columns:1fr 1.05fr 1fr 1.05fr;min-height:480px}.feature-card{padding:3.5rem 3.5vw;display:flex;flex-direction:column;justify-content:flex-end}.feature-card h3{font:500 2.1rem 'Playfair Display',serif;margin:1.2rem 0 .5rem}.feature-card p:last-child{max-width:200px;margin:0;color:inherit;opacity:.7}.dark-card{background:var(--ink);color:#f7f5ef}.sand-card{background:var(--sand)}.feature-image{overflow:hidden}.process-section{padding:9vw 8vw;background:#f0eee8}.process-section>h2{margin-left:13vw}.process-list{margin-top:5rem;display:grid;grid-template-columns:repeat(3,1fr);gap:3vw}.process-list div{border-top:1px solid var(--ink);padding-top:1.1rem}.process-list h3{font:500 1.65rem 'Playfair Display',serif;margin:.9rem 0 .5rem}.process-list p{color:var(--muted);max-width:230px;margin:0}.home-cta{background:var(--accent);color:#fff;padding:9vw 12vw}.home-cta .eyebrow{color:#f7d6c9}.home-cta h2{margin-bottom:2.5rem}.light-button{background:#fff;color:var(--ink);border-color:#fff}.light-button:hover{background:transparent;color:#fff}.page-hero{padding:5vw 7vw 7vw;display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:6vw}.about-hero img{height:510px}.story-section{padding:10vw 12vw;display:grid;grid-template-columns:1fr 2fr;gap:5vw}.story-section div>p{max-width:560px;color:var(--muted);margin:1.5rem 0 0}.values{display:grid;grid-template-columns:repeat(3,1fr);background:var(--ink);color:#f7f5ef}.values article{padding:3.5rem;border-right:1px solid #53605e}.values article:last-child{border:0}.values h3{font:500 2rem 'Playfair Display',serif;margin:1.3rem 0 .4rem}.values p{max-width:220px;opacity:.65;margin:0}.portfolio-heading{padding:7vw 12vw 5vw}.portfolio-heading h1{margin-bottom:1.5rem}.portfolio-heading>p:last-child{color:var(--muted)}.projects{max-width:1440px;margin:auto;padding:0 5.5vw 8vw;display:grid;grid-template-columns:1fr 1fr;gap:4vw 2vw}.project{margin:0}.project.large,.project.wide{grid-column:span 2}.project img{height:43vw;max-height:670px}.project:not(.large):not(.wide) img{height:34vw;max-height:470px}.project div{padding:.8rem 0 1rem;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.project h2{font:500 1.45rem 'Playfair Display',serif;margin:0}.project p{margin:5px 0 0;font:.64rem 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.contact-page{min-height:calc(100vh - 104px);padding:8vw 12vw;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.contact-copy>p:not(.eyebrow){max-width:390px;color:var(--muted);margin:1.8rem 0}.contact-details{border-top:1px solid var(--line);padding-top:1.2rem;margin-top:3rem}.contact-details a{display:block;font-family:'Playfair Display',serif;font-size:1.25rem;margin:.25rem 0}.contact-details p{font-size:.9rem;margin-top:1.2rem}form{padding-top:3.7rem}label{display:block;margin-bottom:1.25rem;font:.7rem 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.06em}input,textarea{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid var(--ink);outline:none;padding:.65rem 0;font:1rem 'DM Sans',sans-serif;resize:vertical}textarea{border:1px solid var(--ink);padding:.75rem;margin-top:.5rem}.form-note{font-size:.75rem;color:var(--muted)}footer{max-width:1440px;margin:auto;padding:2.5rem 5.5vw;display:flex;justify-content:space-between;align-items:end;border-top:1px solid var(--line);font-size:.72rem;color:var(--muted)}footer div{display:flex;gap:1.2rem;color:var(--ink)}
@media(max-width:720px){.site-header{height:auto;min-height:76px;padding:1.15rem 6vw;flex-wrap:wrap;gap:1rem}.site-header nav{order:3;width:100%;justify-content:space-between;gap:0;font-size:.75rem}.nav-cta{display:none}.hero{padding:14vw 6vw;grid-template-columns:1fr;gap:2.5rem}.hero-image{height:95vw}.vertical-label{display:none}.intro-section,.story-section{grid-template-columns:1fr;padding:15vw 8vw;gap:1rem}.feature-grid,.values{grid-template-columns:1fr}.feature-image{height:90vw}.feature-card{min-height:310px;padding:3rem 8vw}.process-section{padding:15vw 8vw}.process-section>h2{margin-left:0}.process-list{grid-template-columns:1fr;gap:2rem;margin-top:3rem}.page-hero{grid-template-columns:1fr;padding:14vw 8vw;gap:3rem}.about-hero img{height:85vw}.portfolio-heading{padding:14vw 8vw 10vw}.projects{grid-template-columns:1fr;padding:0 6vw 15vw;gap:2.5rem}.project.large,.project.wide{grid-column:span 1}.project img,.project:not(.large):not(.wide) img{height:80vw}.project div{display:block}.contact-page{grid-template-columns:1fr;padding:15vw 8vw;gap:1rem}.contact-page form{padding-top:1rem}footer{padding:2.5rem 6vw;align-items:flex-start;gap:1.8rem;flex-direction:column}footer p{margin:0}.site-header nav a{padding-bottom:4px}}
