@import url("https://fonts.googleapis.com/css2?family=Newsreader:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Source+Sans+3:ital,wght@0,200..900;1,200..900&display=swap");
:root{--hj-ground:#1C1310;--hj-bone:#EFE6D8;--hj-red:#8E2C24;--hj-umber-deep:#3A2A20;--hj-surface:#2A1D16;--hj-surface-light:#E3DCC8;--hj-red-hover-dark:#A8382E;--hj-red-hover-light:#75231C;--hj-accent-ink:#F3EADC;--hj-focus:#B5806A;
--font-serif:'Newsreader',ui-serif,Georgia,serif;--font-body:'Source Sans 3',ui-sans-serif,system-ui,sans-serif;
--h2:28px;--h3:22px;--body:18px;--body-lh:1.68;--sm:15px;--sm-lh:1.6;--label:12px;--label-tr:.25em;--quote:26px;
--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--gutter:48px}
@media (max-width:640px){:root{--h2:22px;--h3:19px;--body:16px;--body-lh:1.6;--sm:14px;--sm-lh:1.55;--label:11px;--label-tr:.2em;--quote:20px;--s8:48px;--s9:64px;--gutter:22px}}
[data-temp="art"]{--ground:var(--hj-ground);--surface:var(--hj-surface);--ink:var(--hj-bone);--ink-muted:rgba(239,230,216,.62);--rule:rgba(239,230,216,.16);--accent:var(--hj-red);--accent-hover:var(--hj-red-hover-dark);--shadow:0 1px 0 rgba(239,230,216,.06),0 24px 48px rgba(0,0,0,.55);--watermark:rgba(239,230,216,.055)}
[data-temp="bodywork"]{--ground:var(--hj-bone);--surface:var(--hj-surface-light);--ink:var(--hj-umber-deep);--ink-muted:rgba(58,42,32,.62);--rule:rgba(58,42,32,.18);--accent:var(--hj-red);--accent-hover:var(--hj-red-hover-light);--shadow:0 1px 0 rgba(255,255,255,.5),0 18px 36px rgba(58,42,32,.16);--watermark:rgba(58,42,32,.07)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--font-serif);-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:var(--ink);text-decoration-color:var(--rule)}
a:hover{color:var(--accent)}
:focus-visible{outline:2px solid var(--hj-focus);outline-offset:3px}
.wrap{max-width:1280px;margin:0 auto;padding:0 var(--gutter)}
.label{font-family:var(--font-serif);font-weight:500;font-size:var(--label);letter-spacing:var(--label-tr);text-transform:uppercase;color:var(--ink-muted)}
.p{font-family:var(--font-body);font-weight:300;font-size:var(--body);line-height:var(--body-lh);color:var(--ink-muted);margin:0;text-wrap:pretty}
.p.ink{color:var(--ink)}
.p-sm{font-family:var(--font-body);font-weight:400;font-size:var(--sm);line-height:var(--sm-lh);color:var(--ink-muted);margin:0;text-wrap:pretty}
.mt4{margin-top:var(--s4)}.mt5{margin-top:var(--s5)}.mt6{margin-top:var(--s6)}.mt7{margin-top:var(--s7)}.mt8{margin-top:var(--s8)}.mt9{margin-top:var(--s9)}
h2.h2{font-family:var(--font-serif);font-weight:400;font-size:var(--h2);line-height:1.25;color:var(--ink);margin:0 0 10px}
h3.h3{font-family:var(--font-serif);font-weight:400;font-size:var(--h3);line-height:1.45;color:var(--ink);margin:0 0 12px}
.mark{display:block;aspect-ratio:3.905;background:var(--ink);-webkit-mask:url(../brand/wordmark-script.png) left center/contain no-repeat;mask:url(../brand/wordmark-script.png) left center/contain no-repeat}
.nav{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px var(--s6);padding:28px 0;border-bottom:1px solid var(--rule)}
.nav-brand{display:flex;align-items:center;gap:16px;text-decoration:none}
.nav-brand .mark{height:38px}
.nav-brand .div{width:1px;height:1.4em;background:var(--rule)}
.nav-brand .desc{font-weight:300;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-muted)}
.nav-links{display:flex;flex-wrap:wrap;justify-content:flex-end;column-gap:clamp(16px,2.2vw,28px);row-gap:12px;flex:1 1 auto;min-width:0}
.nav-links a{font-weight:500;font-size:var(--label);letter-spacing:var(--label-tr);text-transform:uppercase;color:var(--ink);text-decoration:none}
.nav-links a:hover{color:var(--accent)}
.nav-links a.room{color:var(--ink-muted);border-left:1px solid var(--rule);padding-left:clamp(16px,2.2vw,28px)}
@media (max-width:640px){.nav{padding:20px 0}.nav-links{justify-content:flex-start;column-gap:18px}.nav-links a.room{border-left:0;padding-left:0}}
.hero{position:relative;min-height:520px;display:flex;align-items:flex-end;overflow:hidden}
.hero .bg,.hero .wash,.hero .vig{position:absolute;inset:0}
.hero .bg{background-size:cover;background-repeat:no-repeat}
.hero .fade{position:absolute;left:0;right:0;bottom:0;height:58%}
.hero.dark .wash{background:rgba(28,19,16,.30)}
.hero.dark .vig{background:radial-gradient(ellipse at 50% 38%,rgba(28,19,16,0) 30%,rgba(28,19,16,.55) 100%)}
.hero.dark .fade{background:linear-gradient(to bottom,rgba(28,19,16,0) 0%,rgba(28,19,16,.72) 58%,var(--ground) 100%)}
.hero.light .wash{background:rgba(239,230,216,.18)}
.hero.light .vig{background:radial-gradient(ellipse at 50% 38%,rgba(239,230,216,0) 38%,rgba(239,230,216,.32) 100%)}
.hero.light .fade{background:linear-gradient(to bottom,rgba(239,230,216,0) 0%,rgba(239,230,216,.86) 52%,var(--ground) 100%)}
.hero .copy{position:relative;width:100%;padding:0 var(--gutter) var(--s8) 8%;display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.hero .mark{height:clamp(64px,7vw,104px)}
.hero .line{font-style:italic;font-weight:300;font-size:var(--quote);line-height:1.4;color:var(--ink);margin:0;max-width:620px}
@media (max-width:640px){.hero .copy{padding-left:var(--gutter)}}
.btn{font-family:var(--font-serif);font-weight:500;font-size:11px;letter-spacing:.22em;text-transform:uppercase;padding:13px 20px;border-radius:2px;display:inline-flex;align-items:center;gap:14px;text-decoration:none;transition:background-color .18s,color .18s,border-color .18s;cursor:pointer;min-height:44px}
.btn-ink{background:var(--hj-ground);color:var(--hj-accent-ink);border:1px solid var(--hj-ground)}
.btn-ink:hover{background:transparent;color:var(--hj-ground)}
.btn-red{background:var(--accent);color:var(--hj-accent-ink);border:1px solid var(--accent)}
.btn-red:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--hj-accent-ink)}
.btns{display:flex;flex-wrap:wrap;gap:var(--s4)}
.rule-full{border:0;border-top:1px solid var(--rule);margin:var(--s5) 0}
.rule-inset{border:0;border-top:1px solid var(--rule);width:64px;margin:var(--s5) 0}
.ornament{display:flex;align-items:center;gap:12px;padding:var(--s4) 0}
.ornament span{flex:1;height:1px;background:var(--rule)}
.ornament i{width:7px;height:7px;border:1px solid var(--accent);transform:rotate(45deg)}
.st{position:relative;display:flex;flex-direction:column;align-items:flex-start}
.st.wm{padding-top:64px}
.st .wmk{position:absolute;top:0;left:-8px;font-weight:300;font-size:clamp(64px,9vw,140px);line-height:.78;color:var(--watermark);pointer-events:none;white-space:nowrap;user-select:none}
.st h2{font-weight:500;font-size:var(--label);letter-spacing:var(--label-tr);text-transform:uppercase;margin:0;position:relative;color:var(--ink)}
.st h2 span{color:var(--ink-muted);opacity:.55}
section{padding:var(--s8) 0 var(--s9)}
.row{display:flex;flex-wrap:wrap;gap:var(--s8);align-items:flex-start}
.indent{padding-left:6%}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:var(--s7) var(--s8)}
.grid.tight{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:var(--s7) var(--s6)}
.col-rule{border-top:1px solid var(--rule);padding-top:var(--s5)}
.stagger>:nth-child(2n){padding-top:var(--s6)}
@media (max-width:640px){.stagger>:nth-child(2n){padding-top:0}.indent{padding-left:0}}
.price{display:flex;justify-content:space-between;gap:16px;align-items:baseline}
.price span{font-family:var(--font-body);font-weight:300;font-size:var(--body);color:var(--ink-muted)}
.quote{font-family:var(--font-body);font-weight:300;font-style:italic;font-size:var(--body);line-height:var(--body-lh);color:var(--ink);margin:0}
.cite{font-weight:500;font-size:var(--label);letter-spacing:var(--label-tr);text-transform:uppercase;color:var(--ink-muted);margin:var(--s4) 0 0}
.photo{display:block;object-fit:cover;box-shadow:var(--shadow)}
.footer{border-top:1px solid var(--rule);padding:var(--s7) 0 var(--s6);display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--s6)}
.footer .mark{height:56px}
.footer .cols{display:flex;gap:var(--s7);flex-wrap:wrap}
.footer .col{display:flex;flex-direction:column;gap:10px}
.footer .col a{font-family:var(--font-body);font-size:var(--sm);color:var(--ink);text-decoration:none;padding:2px 0}
.footer .col a:hover{color:var(--accent)}
.gallery{column-gap:var(--s6)}
.gallery figure{margin:0 0 var(--s6);break-inside:avoid;cursor:zoom-in}
.gallery img{display:block;height:auto;box-shadow:var(--shadow)}
.gallery figcaption{margin-top:12px;font-weight:500;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-muted)}
.lightbox{position:fixed;inset:0;z-index:60;background:rgba(28,19,16,.94);display:none;align-items:center;justify-content:center;padding:var(--s7);cursor:zoom-out}
.lightbox.open{display:flex}
.lightbox img{max-width:100%;max-height:100%;box-shadow:var(--shadow)}
.dl{display:grid;grid-template-columns:auto 1fr;gap:10px var(--s5);margin:var(--s5) 0 0;font-family:var(--font-body);font-weight:300;font-size:var(--sm);line-height:1.4}
.dl dt{color:var(--ink-muted);font-variant-numeric:tabular-nums}.dl dd{margin:0;color:var(--ink)}
.plain{margin:var(--s5) 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;font-family:var(--font-body);font-weight:300;font-size:var(--sm);line-height:1.4;color:var(--ink)}
.routes{display:grid;grid-template-columns:auto 1fr;gap:var(--s6) var(--s7);margin:0}
.routes dt{font-weight:500;font-size:var(--label);letter-spacing:var(--label-tr);text-transform:uppercase;color:var(--ink);padding-top:4px;white-space:nowrap}
.routes dd{margin:0}
@media (max-width:640px){.routes{grid-template-columns:1fr;gap:8px}.routes dd{margin-bottom:var(--s5)}}
.paths{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:var(--s7) var(--s6)}
.jotform{width:100%;min-height:1400px;border:0;display:block;background:transparent}
