:root { color-scheme: light; --ink:#171717; --muted:#62625d; --line:#deded8; --paper:#fff; --soft:#f4f4ef; }
* { box-sizing:border-box; }
html { scroll-padding-top:80px; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-underline-offset:5px; }
a:hover { text-decoration-thickness:2px; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline:3px solid #8c4a26; outline-offset:5px; }
.skip-link { position:absolute; left:16px; top:-100px; z-index:10; padding:12px; background:white; }
.skip-link:focus { top:55px; }
.preview-bar { min-height:44px; display:flex; gap:16px; align-items:center; justify-content:space-between; padding:12px 32px; background:var(--soft); border-bottom:1px solid var(--line); font-size:12px; letter-spacing:.025em; }
.preview-bar>span { display:flex; align-items:center; gap:8px; }
.preview-bar a { white-space:nowrap; }
.status-dot { width:6px; height:6px; background:#9b6949; border-radius:50%; }
.site { max-width:1160px; padding:84px 56px 0; margin:0 auto; }
.hero { display:grid; grid-template-columns:minmax(0,1fr) 220px; align-items:start; gap:48px; padding-bottom:76px; }
.eyebrow { font-family:"Arial Narrow",Arial,sans-serif; font-size:11px; font-weight:600; letter-spacing:.105em; line-height:1.65; text-transform:uppercase; margin:0 0 18px; }
h1,h2 { font-family:Didot,"Bodoni MT","Times New Roman",serif; }
h1 { font-size:clamp(70px,8.2vw,116px); line-height:.9; letter-spacing:-.065em; text-transform:uppercase; font-weight:500; margin:0 0 36px; }
.portrait { display:block; width:220px; height:180px; object-fit:cover; object-position:center; margin-top:0; background:#efc9ab; }
.button { display:inline-flex; align-items:center; gap:30px; border:1px solid var(--ink); padding:13px 21px; font-size:13px; text-decoration:none; }
.button:hover { background:var(--ink); color:white; }
.section-nav { display:flex; gap:32px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:18px 0; font-size:12px; }
.section-nav a { text-decoration:none; }
.section-nav a:hover { text-decoration:underline; }
.section { display:grid; grid-template-columns:104px minmax(0,1fr); gap:24px; padding:60px 0 66px; border-bottom:1px solid var(--line); }
.section-number { color:var(--muted); font-size:11px; margin:10px 0 0; letter-spacing:.1em; }
.section-body { max-width:770px; }
h2 { font-size:30px; line-height:1.2; font-weight:600; margin:0 0 18px; letter-spacing:-.025em; }
.subtitle { margin-bottom:26px; font-size:10px; }
.prose { color:#494945; font-size:15px; line-height:1.95; }
.prose p { margin:0 0 24px; }
.prose p:last-child { margin-bottom:0; }
.prose strong { color:var(--ink); font-weight:600; }
.project-goal { font-style:italic; }
.separator { color:#96968b; padding:0 8px; }
.contact .prose { margin-bottom:24px; }
address { font-size:18px; font-style:normal; display:flex; align-items:flex-start; flex-direction:column; gap:16px; overflow-wrap:anywhere; }
.secondary-contact { font-size:14px; color:var(--muted); }
.footer { display:flex; align-items:center; justify-content:space-between; padding:28px 0 40px; color:var(--muted); font-size:11px; }
.footer a { text-decoration:none; }
.review { max-width:880px; margin:auto; padding:64px 32px 80px; }
.review h1 { font-size:56px; line-height:1.05; letter-spacing:-.045em; text-transform:none; margin:10px 0 22px; }
.review-intro { max-width:660px; color:#494945; font-size:16px; line-height:1.75; }
.review-key { display:flex; flex-wrap:wrap; gap:12px; margin:28px 0 36px; }
.review-key span { background:var(--soft); padding:9px 13px; font-size:12px; }
.review-item { padding:28px 0; border-top:1px solid var(--line); }
.review-item header { display:flex; align-items:baseline; justify-content:space-between; gap:16px; }
.review-item h2 { font-size:25px; }
.hold { font-family:Arial,sans-serif; text-transform:uppercase; letter-spacing:.08em; font-size:10px; color:var(--muted); white-space:nowrap; }
.review-item p { color:#494945; font-size:15px; line-height:1.75; max-width:680px; margin:0 0 14px; }
.review-item a { font-size:13px; }
.review-note { border:1px solid var(--line); background:#fafaf7; padding:22px; margin-top:30px; font-size:14px; line-height:1.75; }
.review-note p { margin:0 0 10px; }
.review-note p:last-child { margin:0; }
@media(min-width:1400px) { h1 { font-size:126px; } }
@media(max-width:760px) {
  .site { padding:52px 28px 0; }
  .hero { grid-template-columns:minmax(0,1fr) 150px; gap:22px; padding-bottom:48px; }
  h1 { font-size:clamp(55px,9.2vw,70px); }
  .portrait { width:150px; height:140px; }
  .eyebrow { font-size:9px; letter-spacing:.06em; }
  .section { grid-template-columns:36px minmax(0,1fr); gap:14px; padding:42px 0 48px; }
  .prose { font-size:15px; line-height:1.85; }
}
@media(max-width:520px) {
  .preview-bar { padding:12px 18px; font-size:10px; gap:10px; }
  .site { padding:38px 22px 0; }
  .hero { grid-template-columns:minmax(0,1fr); gap:28px; }
  .hero-copy { order:1; }
  .portrait { order:0; width:122px; height:105px; }
  h1 { font-size:clamp(55px,14.5vw,76px); margin-bottom:26px; }
  .eyebrow { max-width:320px; margin-bottom:15px; }
  .section-nav { gap:26px; }
  .section { grid-template-columns:1fr; gap:13px; }
  .section-number { margin:0; }
  h2 { font-size:29px; }
  .subtitle { font-size:10px; }
  .contact .prose { margin-bottom:24px; }
address { font-size:16px; }
  .review { padding:36px 22px 60px; }
  .review h1 { font-size:43px; }
  .review-item header { align-items:flex-start; }
}
@media(prefers-reduced-motion:no-preference) { html { scroll-behavior:smooth; } }
