:root{
  --paper: #fbf5ec;
  --paper-2: #fffaf3;
  --ink: #2a1714;
  --muted: #6e5b53;
  --rule: #d8c2b3;
  --hair: #eadbd0;
  --accent: #8f2f35;
  --accent-2: #b97747;
  --cream: #fffdf8;
  --font-display: Georgia, 'Times New Roman', serif;
  --font-body: ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --s-1: .25rem; --s-2: .5rem; --s-3: .75rem; --s-4: 1rem; --s-5: 1.5rem; --s-6: 2rem; --s-7: 3rem; --s-8: 4rem; --s-9: 6rem;
  --radius: 2px;
}
*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);line-height:1.55}.wrap{width:min(1160px,92vw);margin:auto}a{color:inherit}.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:var(--ink);color:var(--paper);padding:.65rem 1rem;z-index:99}.mast{border-bottom:1px solid var(--rule);background:rgba(251,245,236,.94);position:sticky;top:0;z-index:10;backdrop-filter:blur(10px)}.topline{border-bottom:1px solid var(--hair);font-family:var(--font-mono);font-size:.76rem;letter-spacing:.04em;text-transform:uppercase}.topline .wrap{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0}.mast-main{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:1rem;padding:1rem 0}.brand{text-align:center;text-decoration:none}.brand b{display:block;font-family:var(--font-display);font-size:clamp(1.8rem,4vw,3.8rem);letter-spacing:-.055em;line-height:.9}.brand span{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.nav-left,.nav-right{display:flex;gap:.85rem;align-items:center;flex-wrap:wrap}.nav-right{justify-content:flex-end}.nav-left a,.nav-right a{font-family:var(--font-mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;border-bottom:1px solid transparent}.nav-left a:hover,.nav-right a:hover,.nav-left a.active,.nav-right a.active{border-color:var(--accent);color:var(--accent)}.call-chip{border:1px solid var(--accent);padding:.55rem .8rem;text-decoration:none;color:var(--accent)}main{min-height:60vh}.hero{padding:var(--s-8) 0 var(--s-7);border-bottom:1px solid var(--rule)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(320px,.74fr);gap:var(--s-7);align-items:start}.dek{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 var(--s-4)}h1{font-family:var(--font-display);font-size:clamp(3.3rem,9vw,8.2rem);letter-spacing:-.075em;line-height:.82;margin:0 0 var(--s-5);font-weight:700}.hero p.lead{font-size:clamp(1.08rem,1.8vw,1.35rem);max-width:55ch;color:#4c3834;margin:0}.actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:var(--s-6)}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid var(--ink);padding:.85rem 1rem;font-family:var(--font-mono);font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;background:var(--ink);color:var(--paper);min-height:44px}.button.alt{background:transparent;color:var(--ink)}.button:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb,var(--accent),white 40%);outline-offset:3px}.ledger{border-top:3px double var(--rule);border-bottom:3px double var(--rule);padding:var(--s-5) 0;background:linear-gradient(90deg,transparent 0 32px,rgba(143,47,53,.045) 33px 34px,transparent 35px)}.ledger h2{font-family:var(--font-display);font-size:2rem;letter-spacing:-.03em;margin:0 0 var(--s-2)}.ledger .line{display:grid;grid-template-columns:7.5rem 1fr;gap:1rem;border-top:1px solid var(--hair);padding:.85rem 0}.ledger .line:first-of-type{border-top:0}.k{font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.v{font-weight:650}.catalogue{padding:var(--s-8) 0;border-bottom:1px solid var(--rule)}.section-head{display:grid;grid-template-columns:minmax(0,.36fr) minmax(0,1fr);gap:var(--s-6);align-items:end;margin-bottom:var(--s-5)}.section-head .num{font-family:var(--font-mono);color:var(--accent);letter-spacing:.1em;text-transform:uppercase;font-size:.78rem}.section-head h2{font-family:var(--font-display);font-size:clamp(2.2rem,5vw,5rem);line-height:.9;letter-spacing:-.06em;margin:0}.service-list{border-top:1px solid var(--rule)}.service-row{display:grid;grid-template-columns:2.5rem minmax(0,.42fr) minmax(0,1fr) auto;gap:1.2rem;padding:1.25rem 0;border-bottom:1px solid var(--rule);align-items:start}.service-row .no{font-family:var(--font-mono);font-size:.72rem;color:var(--accent)}.service-row h3{font-family:var(--font-display);font-size:1.7rem;line-height:1;margin:0;letter-spacing:-.035em}.service-row p{margin:0;color:var(--muted);max-width:58ch}.service-row a{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--accent);color:var(--accent);white-space:nowrap}.split{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--rule)}.split>*{padding:var(--s-7) clamp(1.5rem,4vw,4rem)}.split>*+*{border-left:1px solid var(--rule)}.panel h2,.page-title h1{font-family:var(--font-display);font-size:clamp(2.1rem,5vw,4.7rem);letter-spacing:-.06em;line-height:.92;margin:0 0 var(--s-5)}.panel p{color:var(--muted);max-width:58ch}.rules{list-style:none;margin:var(--s-5) 0 0;padding:0;border-top:1px solid var(--rule)}.rules li{display:grid;grid-template-columns:2rem 1fr;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--hair)}.rules li:before{content:'—';font-family:var(--font-mono);color:var(--accent)}.page-title{padding:var(--s-7) 0 var(--s-5);border-bottom:1px solid var(--rule)}.crumb{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;font-size:.76rem;color:var(--accent);margin-bottom:var(--s-4)}.notes{background:var(--paper-2);border:1px solid var(--rule);padding:var(--s-5);margin-top:var(--s-5)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule);border-left:1px solid var(--rule)}.gallery-item{min-height:170px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:1rem;display:flex;flex-direction:column;justify-content:space-between;background:var(--paper-2)}.gallery-item span{font-family:var(--font-mono);font-size:.72rem;color:var(--accent)}.gallery-item strong{font-family:var(--font-display);font-size:1.45rem;line-height:1}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--s-6);padding:var(--s-7) 0}.map{width:100%;height:420px;border:1px solid var(--rule);filter:saturate(.8)}footer{padding:var(--s-6) 0;background:var(--ink);color:var(--paper)}.foot{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:end}.foot b{font-family:var(--font-display);font-size:2rem;letter-spacing:-.04em}.foot p{margin:.25rem 0 0;color:#d7c8bf}.foot nav{display:flex;gap:1rem;flex-wrap:wrap;justify-content:flex-end;font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.mobilebar{display:none;position:fixed;z-index:50;bottom:0;left:0;right:0;background:var(--paper);border-top:1px solid var(--rule)}.mobilebar a{flex:1;text-align:center;padding:.8rem .5rem;text-decoration:none;font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;color:var(--accent)}@media(max-width:860px){.mast-main{grid-template-columns:1fr}.brand{text-align:left}.nav-left,.nav-right{justify-content:flex-start}.hero-grid,.section-head,.split,.contact-grid{grid-template-columns:1fr}.split>*+*{border-left:0;border-top:1px solid var(--rule)}.service-row{grid-template-columns:2rem 1fr}.service-row p,.service-row a{grid-column:2}.gallery-grid{grid-template-columns:1fr 1fr}.foot{grid-template-columns:1fr}.foot nav{justify-content:flex-start}.mobilebar{display:flex}body{padding-bottom:48px}h1{font-size:clamp(3.1rem,18vw,5.2rem)}}@media(max-width:520px){.topline .wrap{display:block}.nav-left,.nav-right{display:none}.hero{padding:var(--s-6) 0}.ledger .line{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr}.service-row h3{font-size:1.45rem}.section-head h2{font-size:2.7rem}.panel h2,.page-title h1{font-size:2.7rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

.map-card{display:flex;min-height:420px;flex-direction:column;align-items:flex-start;justify-content:center;gap:var(--s-4);background:var(--paper-2);padding:var(--s-6)}.map-card strong{font-family:var(--font-display);font-size:clamp(2rem,4vw,4rem);line-height:.95;letter-spacing:-.05em}.map-card p{max-width:42ch;color:var(--muted);margin:0}
