:root{--ink:#15342e;--paper:#f6f0e6;--cream:#fffaf2;--gold:#aa7b36;--line:rgba(21,52,46,.2);--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.site-header{height:104px;padding:18px clamp(24px,6vw,88px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(246,240,230,.93)}.brand img{width:112px;height:auto}.header-link{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:4px}.hero{height:calc(100vh - 104px);min-height:680px;display:grid;grid-template-columns:1fr 1fr}.hero-copy{padding:clamp(56px,9vw,140px) clamp(28px,7vw,110px);display:flex;flex-direction:column;justify-content:center}.eyebrow{margin:0 0 24px;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:600;color:var(--gold)}h1,h2{font-family:var(--serif);font-weight:500;line-height:1.06;margin:0}h1{font-size:clamp(3.3rem,6.8vw,7.2rem);letter-spacing:-.045em}h1 em{color:var(--gold);font-weight:500}.intro{font-size:clamp(1.05rem,1.45vw,1.3rem);max-width:620px;margin:36px 0;color:rgba(21,52,46,.78)}.actions{display:flex;gap:14px;flex-wrap:wrap}.button{padding:14px 22px;border:1px solid var(--ink);font-weight:600;font-size:.86rem;transition:.2s}.button.primary{background:var(--ink);color:var(--cream)}.button:hover{transform:translateY(-2px)}.hero-art{position:relative;min-height:0;overflow:hidden;background:#d8cfbf}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center center}.image-note{position:absolute;right:28px;bottom:28px;background:var(--cream);padding:10px 14px;font-size:.72rem;letter-spacing:.05em}.manifesto{padding:clamp(80px,11vw,170px) clamp(28px,7vw,110px);display:grid;grid-template-columns:70px 1.25fr .75fr;gap:clamp(28px,5vw,80px);align-items:start}.section-number{margin:0;font-family:var(--serif);color:var(--gold);font-size:1.3rem}.manifesto h2,.building h2{font-size:clamp(2.3rem,4.6vw,5rem);letter-spacing:-.035em}.body-copy{margin:44px 0 0;font-size:1.1rem;color:rgba(21,52,46,.76)}.craft-grid{display:grid;grid-template-columns:1.15fr .75fr 1fr;min-height:680px}.craft-grid figure{margin:0;overflow:hidden}.craft-grid img{width:100%;height:100%;object-fit:cover}.services{background:var(--ink);color:var(--cream);padding:clamp(48px,6vw,90px);display:flex;flex-direction:column;justify-content:center}.services ul{list-style:none;padding:0;margin:0}.services li{padding:20px 0;border-bottom:1px solid rgba(255,255,255,.18);font-family:var(--serif);font-size:clamp(1.25rem,2vw,2rem)}.services li span{font-family:var(--sans);font-size:.66rem;color:#d6bb8d;margin-right:14px}.building{text-align:center;padding:clamp(90px,13vw,190px) 24px;max-width:1050px;margin:auto}.building-mark{width:64px;height:64px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:1.8rem;color:var(--gold);margin:0 auto 38px}.building p:not(.eyebrow){max-width:670px;margin:30px auto;color:rgba(21,52,46,.72);font-size:1.06rem}.contact-row{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;margin-top:44px}.contact-row a{font-weight:600;border-bottom:1px solid var(--gold)}footer{padding:36px clamp(24px,6vw,88px);border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;font-size:.75rem}footer img{width:78px}footer p:last-child{text-align:right}
@media(max-width:900px){.hero{height:auto;min-height:0;grid-template-columns:1fr}.hero-art{min-height:65vh}.manifesto{grid-template-columns:40px 1fr}.manifesto .body-copy{grid-column:2}.craft-grid{grid-template-columns:1fr 1fr}.services{grid-column:1/-1}.craft-main,.craft-small{height:460px}footer{grid-template-columns:1fr;gap:12px;text-align:center}footer img{margin:auto}footer p{margin:0}footer p:last-child{text-align:center}}
@media(max-width:560px){.site-header{height:86px}.brand img{width:94px}.header-link{font-size:.64rem}.hero{min-height:auto}.hero-copy{padding:70px 24px}.hero-art{min-height:470px}.manifesto{padding:80px 24px;grid-template-columns:1fr}.manifesto .body-copy{grid-column:1;margin-top:0}.craft-grid{grid-template-columns:1fr}.craft-main,.craft-small{height:390px}.services{grid-column:1;padding:60px 28px}.contact-row{flex-direction:column;gap:16px}}
