@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Fraunces:ital,opsz,wght@0,9..144,500;0,9..144,600;1,9..144,500&family=Anton&display=swap');

:root{
  --paper:#f6efe3; --paper-2:#efe4d2; --ink:#241a14; --ink-soft:#4a3c30;
  --rust:#b5502e; --rust-dark:#93401f; --tan:#d7b98b; --line:#e2d3ba; --muted:#7c6c58;
  --sans:'Inter',system-ui,sans-serif; --serif:'Fraunces',Georgia,serif; --wordmark:'Anton',sans-serif;
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.65;-webkit-font-smoothing:antialiased}
.wrap{max-width:1100px;margin:0 auto;padding-inline:1.75rem}
a{color:inherit}
img{max-width:100%;display:block}

header{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}
.mast{display:flex;align-items:center;justify-content:space-between;padding-block:1.3rem}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none}
.brand-name{font-family:var(--wordmark);font-weight:400;font-size:1.35rem;letter-spacing:.02em;text-transform:uppercase;color:var(--ink);line-height:1}
nav{display:flex;gap:2.2rem;font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
nav a{text-decoration:none;color:var(--muted)}
nav a:hover,nav a[aria-current="page"]{color:var(--rust)}
.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.75rem 1.5rem;border-radius:2px;font-weight:700;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;cursor:pointer}
.btn-rust{background:var(--rust);color:#fff}
.btn-rust:hover{background:var(--rust-dark)}
.btn-outline{border-color:var(--ink);color:var(--ink)}
.btn-outline:hover{background:var(--ink);color:var(--paper)}

.hero{padding-block:5.5rem 0;text-align:center}
.kicker{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:700;color:var(--rust)}
.hero h1{font-family:var(--serif);font-weight:600;font-size:clamp(2.6rem,6vw,4.4rem);line-height:1.04;margin:1.1rem auto 1.4rem;text-wrap:balance;max-width:820px;letter-spacing:-.01em}
.hero p{max-width:560px;margin:0 auto 2.4rem;font-size:1.15rem;color:var(--ink-soft)}
.hero-cta{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap;margin-bottom:3.5rem}
.skyline{width:100%;line-height:0;aspect-ratio:16/7;overflow:hidden}
.skyline img{width:100%;height:100%;object-fit:cover;object-position:center 65%;display:block}
@media (max-width:600px){ .skyline{aspect-ratio:4/5} }
.photo-credit{text-align:left;font-size:.62rem;color:var(--muted);padding:.35rem 0 .35rem .5rem;margin:0;background:var(--paper-2)}
.photo-credit a{color:var(--muted)}

section{padding-block:6rem}
.sec-head{max-width:600px;margin-bottom:3rem}
.sec-head .kicker{display:block;margin-bottom:.7rem}
.sec-head h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.9rem,3.4vw,2.6rem);margin:0;letter-spacing:-.01em}

.story-section{background:var(--paper-2)}
.story-section .wrap{max-width:720px}
.story-section p{font-size:1.1rem;color:var(--ink-soft)}
.story-section blockquote{font-family:var(--serif);font-style:italic;font-size:1.7rem;font-weight:500;color:var(--ink);border-left:2px solid var(--rust);padding-left:1.5rem;margin:2.4rem 0;line-height:1.35}
.story-section cite{display:block;margin-top:.7rem;font-family:var(--sans);font-size:.75rem;font-weight:700;color:var(--muted);font-style:normal;letter-spacing:.08em;text-transform:uppercase}

.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:0;border-top:1px solid var(--line)}
.svc{padding:2.2rem 0;border-bottom:1px solid var(--line)}
.svc .num{font-family:var(--serif);font-style:italic;font-size:1rem;color:var(--rust)}
.svc h3{margin:.7rem 0 .6rem;font-size:1.15rem;font-family:var(--serif);font-weight:600}
.svc p{margin:0;font-size:.94rem;color:var(--muted);max-width:32ch}

.why-section{background:var(--ink);color:var(--paper)}
.why-section .sec-head{max-width:720px}
.why-section .sec-head h2{color:#fff}
.why-section .kicker{color:var(--tan)}
.why-lead{font-size:1.15rem;color:#d9cfc0;max-width:640px;margin:1.4rem 0 3.4rem}
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2.5rem}
.why-item b{display:block;font-family:var(--serif);font-weight:600;font-size:1.15rem;margin-bottom:.5rem;color:#fff}
.why-item p{margin:0;font-size:.94rem;color:#c9bda9}

.contact-section{text-align:center}
.contact-section h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.9rem,3.4vw,2.6rem);margin:0 0 .8rem}
.contact-section p{color:var(--muted);margin:0 0 2rem}
.contact-links{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap;font-weight:600;font-size:1.05rem}
.contact-links a{text-decoration:none;color:var(--ink);border-bottom:1px solid var(--rust);padding-bottom:2px}
.contact-links a:hover{color:var(--rust)}

footer{border-top:1px solid var(--line);padding-block:2.2rem;font-size:.78rem;color:var(--muted);text-align:center;letter-spacing:.02em}
footer b{color:var(--ink)}

@media (max-width:760px){
  nav{display:none}
  .hero{padding-block:3.5rem 0}
  section{padding-block:3.8rem}
}
