
:root{
  --paper:#f6f2eb; --ink:#1d211e; --muted:#686c66; --line:#d8d2c8;
  --stone:#d8cdbc; --forest:#4b5a4c; --rust:#8c4d3c; --white:#fffdf9;
  --max:1240px; --serif: Georgia, 'Times New Roman', serif;
  --sans: ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6}
a{color:inherit;text-decoration:none} img{display:block;width:100%;height:auto} p{margin:0 0 1rem} h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.05;margin:0 0 1rem} h1{font-size:clamp(3rem,8vw,7.2rem);letter-spacing:-.045em} h2{font-size:clamp(2.2rem,5vw,4.5rem);letter-spacing:-.035em} h3{font-size:clamp(1.45rem,2.5vw,2.1rem)}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:700;color:var(--muted)}
.container{width:min(calc(100% - 40px),var(--max));margin:auto}.narrow{width:min(calc(100% - 40px),820px);margin:auto}.section{padding:clamp(64px,9vw,120px) 0}.section-tight{padding:50px 0}.rule{border-top:1px solid var(--line)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(246,242,235,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(216,210,200,.8)}
.nav{height:74px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:baseline;gap:10px;font-family:var(--serif);font-size:1.35rem}.brand small{font-family:var(--sans);font-size:.67rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.nav-links{display:flex;gap:24px;align-items:center;font-size:.87rem}.nav-links a{padding:8px 0;border-bottom:1px solid transparent}.nav-links a:hover,.nav-links a.active{border-color:var(--ink)}.menu-button{display:none;border:0;background:none;font:inherit;padding:8px}
.hero{min-height:calc(100vh - 74px);display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch}.hero-copy{padding:clamp(70px,9vw,140px) max(28px,5vw);display:flex;flex-direction:column;justify-content:center}.hero-copy h1 span{display:block;font-size:.22em;font-family:var(--sans);letter-spacing:.17em;text-transform:uppercase;font-weight:650;margin-top:20px}.hero-copy .lede{font-family:var(--serif);font-size:clamp(1.25rem,2vw,1.8rem);max-width:680px}.hero-image{min-height:520px;background:url('images/brewery-exterior.jpg') center/cover no-repeat;position:relative}.hero-image:after{content:'Historic Brewery Restoration · Principal Architect';position:absolute;bottom:20px;left:20px;background:rgba(29,33,30,.82);color:white;padding:9px 12px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.button-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border:1px solid var(--ink);font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}.btn:hover{background:var(--ink);color:var(--paper)}.btn.fill{background:var(--ink);color:var(--paper)}.btn.fill:hover{background:var(--forest)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,90px);align-items:start}.intro-copy{font-family:var(--serif);font-size:clamp(1.45rem,2.4vw,2.25rem);line-height:1.3}.small{font-size:.88rem;color:var(--muted)}
.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.project-card{position:relative;overflow:hidden;background:#ddd;min-height:360px}.project-card img{height:100%;object-fit:cover;transition:transform .5s ease}.project-card:hover img{transform:scale(1.02)}.project-card .overlay{position:absolute;inset:auto 0 0 0;padding:70px 20px 20px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.72))}.project-card .overlay h3{margin:0 0 3px;font-family:var(--serif)}.project-card .overlay p{margin:0;font-size:.75rem;text-transform:uppercase;letter-spacing:.11em}.span7{grid-column:span 7}.span5{grid-column:span 5}.span6{grid-column:span 6}.span4{grid-column:span 4}
.concept-strip{background:#222824;color:#f7f2ea}.concept-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.concept-card{background:#313832}.concept-card img{aspect-ratio:1.95/1;object-fit:cover}.concept-card .text{padding:28px}.concept-card p{color:#d9d9d3}.label{display:inline-block;font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;border:1px solid currentColor;padding:5px 8px;margin-bottom:14px}
.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.cap{padding:30px;min-height:190px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.cap p{color:var(--muted);font-size:.92rem}.cap a{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--ink)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.stat{background:var(--paper);padding:30px}.stat strong{display:block;font-family:var(--serif);font-size:1.65rem;font-weight:400}.stat span{font-size:.78rem;color:var(--muted)}
.page-hero{padding:90px 0 65px}.page-hero h1{font-size:clamp(3rem,7vw,6rem)}.page-hero .dek{max-width:800px;font-family:var(--serif);font-size:clamp(1.25rem,2vw,1.75rem);color:#3f443f}
.work-list{display:grid;gap:44px}.work-item{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:center}.work-item:nth-child(even){grid-template-columns:.8fr 1.2fr}.work-item:nth-child(even) .work-image{order:2}.work-image{aspect-ratio:1.55/1;overflow:hidden;background:#ddd}.work-image img{height:100%;object-fit:cover}.work-copy h2{font-size:clamp(2rem,4vw,3.6rem)}.meta{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.09em;margin-bottom:15px}.link-arrow{display:inline-block;margin-top:10px;border-bottom:1px solid var(--ink);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}
.project-hero{display:grid;grid-template-columns:.8fr 1.2fr;gap:32px;align-items:end;padding:80px 0 45px}.project-hero h1{font-size:clamp(3rem,7vw,6.4rem)}.project-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line)}.fact{padding:15px 0;border-bottom:1px solid var(--line)}.fact b{display:block;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}.full-image{width:100%;max-height:760px;object-fit:cover}.board-image{background:white;padding:14px;border:1px solid var(--line)}
.content-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(32px,7vw,100px)}.content-grid .body{font-size:1.02rem}.content-grid .body p:first-child{font-family:var(--serif);font-size:1.42rem;line-height:1.45}.sidebar-note{font-size:.84rem;color:var(--muted);position:sticky;top:110px}.sidebar-note strong{color:var(--ink)}
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:16px}.gallery img{height:460px;object-fit:cover}.gallery .wide{grid-column:1/-1;height:auto;max-height:760px}
.concept-hero{background:#202621;color:#f7f2ea;padding:100px 0 60px}.concept-hero .dek{color:#d7d9d3}.concept-hero .label{color:#e9e4d9}.concept-photo{position:relative}.concept-photo:after{content:'Conceptual Visualization';position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,.72);color:white;padding:4px 7px;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}.concept-photo img{height:100%;object-fit:cover}.concept-gallery{display:grid;grid-template-columns:2fr 1fr;gap:14px}.concept-gallery .concept-photo:first-child{grid-row:span 2;min-height:610px}.concept-gallery .concept-photo:not(:first-child){min-height:298px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line)}.step{padding:28px;border-right:1px solid var(--line)}.step:last-child{border-right:0}.step b{font-family:var(--serif);font-size:1.5rem;font-weight:400;display:block}.step span{font-size:.8rem;color:var(--muted)}
.resume-grid{display:grid;grid-template-columns:280px 1fr;gap:60px}.resume-side{font-size:.88rem}.resume-side h3{font-family:var(--sans);font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700;border-bottom:1px solid var(--line);padding-bottom:8px;margin-top:30px}.resume-side h3:first-child{margin-top:0}.resume-main h2{font-size:2.2rem;margin-top:45px}.resume-main h2:first-child{margin-top:0}.role{padding:0 0 28px;margin-bottom:28px;border-bottom:1px solid var(--line)}.role h3{font-size:1.5rem;margin-bottom:4px}.role .dates{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}.role ul{margin:10px 0 0;padding-left:20px}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{margin-bottom:16px}.field label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;border:1px solid #bbb4a9;background:#fffdfa;padding:13px 12px;font:inherit;color:var(--ink);border-radius:0}.field textarea{min-height:170px;resize:vertical}.hp{position:absolute;left:-9999px}.notice{padding:12px 14px;border:1px solid var(--line);font-size:.9rem;margin-bottom:20px}.notice.success{border-color:#7a967d}.notice.error{border-color:#a86a5a}
.site-footer{padding:42px 0;border-top:1px solid var(--line);margin-top:70px}.footer-grid{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.footer-name{font-family:var(--serif);font-size:1.5rem}.footer-copy{font-size:.73rem;color:var(--muted);max-width:650px;text-align:right}
.placeholder{aspect-ratio:4/5;background:linear-gradient(145deg,#e4ddd2,#cfc5b6);display:flex;align-items:center;justify-content:center;text-align:center;padding:30px;color:#6f706b;font-size:.76rem;text-transform:uppercase;letter-spacing:.12em}
@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-image{min-height:62vh;order:-1}.nav-links{display:none;position:absolute;top:74px;left:0;right:0;background:var(--paper);padding:20px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.nav-links.open{display:flex}.menu-button{display:block}.two-col,.content-grid,.resume-grid,.contact-grid,.project-hero{grid-template-columns:1fr}.cap-grid{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr 1fr}.work-item,.work-item:nth-child(even){grid-template-columns:1fr}.work-item:nth-child(even) .work-image{order:0}.sidebar-note{position:static}.project-grid{display:block}.project-card{margin-bottom:16px}.concept-grid{grid-template-columns:1fr}.concept-gallery{grid-template-columns:1fr}.concept-gallery .concept-photo:first-child{grid-row:auto;min-height:380px}.concept-gallery .concept-photo:not(:first-child){min-height:260px}.gallery img{height:330px}.steps{grid-template-columns:1fr 1fr}.step:nth-child(2){border-right:0}.step:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:560px){.container,.narrow{width:min(calc(100% - 28px),var(--max))}.brand small{display:none}.hero-copy{padding:55px 22px}.cap-grid,.stats,.form-row,.gallery,.steps{grid-template-columns:1fr}.step{border-right:0;border-bottom:1px solid var(--line)}.step:last-child{border-bottom:0}.gallery img{height:auto}.footer-grid{display:block}.footer-copy{text-align:left;margin-top:20px}.project-facts{grid-template-columns:1fr}}
