@font-face{font-family:Besley;src:url('/assets/besley.woff2') format('woff2');font-weight:100 900;font-display:swap}@font-face{font-family:Jost;src:url('/assets/jost.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--pine:#0f2622;--green:#143029;--gold:#e8c66a;--brass:#b98a3c;--cream:#f3ede0;--ink:#2a2118}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--pine);color:#e9e2d2;font:18px/1.7 Jost,system-ui,sans-serif}h1,h2,h3,.wordmark{font-family:Besley,Georgia,serif}h1,h2,h3,p{margin-top:0}h2{font-size:clamp(30px,3.4vw,42px);line-height:1.22;letter-spacing:-.035em}h3{line-height:1.35}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible,button:focus-visible{outline:3px solid var(--brass);outline-offset:5px}.skip{position:absolute;left:12px;top:-100px;background:white;color:black;padding:15px;z-index:100}.skip:focus{top:12px}.site-nav{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:18px max(24px,calc((100vw - 1180px)/2));background:#0f2622f5;border-bottom:1px solid #e8c66a40}.wordmark{font-size:24px;color:var(--gold);font-weight:800}.site-nav>div{display:flex;gap:26px;align-items:center;font-size:14px;letter-spacing:.06em;text-transform:uppercase}.nav-contact{border:1px solid var(--brass);padding:8px 15px;color:var(--gold)}.hero{isolation:isolate;position:relative;text-align:center;padding:100px 30px 110px;overflow:hidden}.hero:after{content:'';position:absolute;inset:20px;border:1px solid #e8c66a55;pointer-events:none}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-shade{background:radial-gradient(ellipse,#0f262280,#0f2622e8);z-index:-1}.hero-content{max-width:860px;margin:auto}.eyebrow{font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--brass);font-weight:600;margin-bottom:20px}.hero .eyebrow{color:var(--gold)}h1{font-size:clamp(40px,5.7vw,78px);line-height:1.12;color:var(--gold);letter-spacing:-.045em;margin-bottom:26px;text-wrap:balance}.lead{font-size:21px;line-height:1.65;max-width:640px;margin:0 auto;color:#e4dccb}.actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 25px;font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border:1px solid transparent;border-radius:3px}.button:hover{filter:brightness(1.08);text-decoration:none}.gold{background:var(--brass);color:var(--pine)}.outline{border-color:#e8c66a90;color:var(--gold)}.green{background:var(--green);color:var(--cream)}.cream-outline{border-color:var(--green);color:var(--green)}.wrap{max-width:1100px;margin:0 auto}.cream{background:var(--cream);color:var(--ink)}section{padding:90px 30px}.story-layout{display:grid;grid-template-columns:minmax(260px,430px) 1fr;gap:65px;align-items:center}.story-layout.no-portrait{display:block;max-width:800px}.story-layout h2{color:var(--green)}.story p{color:#4a4335}.story .eyebrow{color:#876125}.portrait{padding:12px;border:1px solid var(--brass)}.portrait img{display:block;width:100%;max-height:580px;object-fit:cover}blockquote{background:#ece3cf;border-left:3px solid var(--brass);margin:26px 0 0;padding:20px 26px;font-size:20px;font-style:italic}cite{display:block;margin-top:10px;font:13px Jost,sans-serif;letter-spacing:.12em;text-transform:uppercase}.craft-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:70px;border:1px solid #d8cdb4}.craft-grid article{padding:28px;border-right:1px solid #d8cdb4}.craft-grid article:last-child{border:0}.craft-grid h3{font-size:25px;color:#876125;margin-bottom:12px}.craft-grid p{margin:0;font-size:17px}.section-heading{text-align:center;max-width:650px;margin:0 auto 45px}.section-heading h2{color:var(--gold)}.section-heading>p:last-child{color:#c0b59e}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gallery-grid figure{margin:0;background:#19362e;border:1px solid #b98a3c40}.gallery-grid img{width:100%;height:290px;object-fit:cover;display:block}.gallery-grid figcaption{padding:16px 20px;font-size:16px}.gallery-empty{padding:40px;text-align:center;border:1px solid #b98a3c55;color:#bfb298}.gallery-empty span{font:600 44px Besley,serif;color:var(--brass)}.gallery-empty p{margin:14px 0 0}.narrow{max-width:760px;text-align:center}.custom .eyebrow{color:#876125}.custom h2{color:var(--green)}footer{text-align:center;padding:75px 30px 25px}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:38px}.contact-grid h3{font:500 12px Jost,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--brass);margin-bottom:8px}.contact-grid a{overflow-wrap:anywhere}.contact-grid p{margin:0}.appointment{display:inline-block;border:1px solid #b98a3c77;padding:10px 25px;font-size:14px;margin-top:30px}.copyright{border-top:1px solid #b98a3c44;padding-top:25px;margin-top:30px;color:#b4a78e;font-size:13px}.preview-banner{background:#fff2c7;color:#392500;text-align:center;padding:12px;font:16px system-ui}.preview-banner a{text-decoration:underline;margin-left:15px}
@media(max-width:760px){.site-nav{position:relative;flex-direction:column;padding:17px}.site-nav>div{gap:18px;flex-wrap:wrap;justify-content:center;font-size:12px}.nav-contact{padding:5px 9px}.hero{padding:70px 25px 80px}.hero:after{inset:12px}.lead{font-size:18px}section{padding:60px 24px}.story-layout{grid-template-columns:1fr;gap:35px}.portrait{max-width:450px;margin:auto}.craft-grid{grid-template-columns:1fr;margin-top:40px}.craft-grid article{border-right:0;border-bottom:1px solid #d8cdb4}.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid img{height:220px}.contact-grid{grid-template-columns:1fr;gap:25px}.actions .button{flex:1 1 220px}.gallery-grid figcaption{padding:12px}.eyebrow{font-size:11px}}@media(max-width:460px){.gallery-grid{grid-template-columns:1fr}.gallery-grid img{height:290px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.item-card{background:#19362e;border:1px solid #b98a3c55;overflow:hidden;border-radius:4px;display:flex;flex-direction:column}.item-body{padding:22px;display:flex;flex-direction:column;align-items:start;flex:1}.item-body h3{font-size:25px;color:var(--gold);margin:14px 0 10px;overflow-wrap:anywhere}.availability{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border:1px solid #c8cfb277;color:#e5dfcc}.availability.sold{color:#c3b59c;border-color:#7c7464}.item-price{font-size:23px;color:#f3e6c4;margin-bottom:10px}.item-description{font-size:17px;color:#d5cbb8;white-space:normal;overflow-wrap:anywhere}.item-inquiry{display:block;border-top:1px solid #b98a3c55;padding-top:16px;margin-top:auto;color:var(--gold);font-size:16px;text-decoration:underline;text-underline-offset:4px;min-height:48px}
.admin-login{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:8px 20px;color:var(--gold);font-size:16px;text-decoration:underline;text-underline-offset:4px}
.section-photo{display:block;max-width:100%;width:auto;height:auto;max-height:520px;object-fit:contain;margin:0 auto 32px;border-radius:5px}.contact-photo{max-height:350px;margin-top:28px}.craft-photo{display:block;width:100%;height:210px;object-fit:cover;margin-bottom:22px;border-radius:4px}
.craft-photo{object-fit:contain;background:#19362e}

/* The original photo opens above the gallery without losing the visitor's place. */
body.photo-viewer-open{position:fixed;left:0;right:0;overflow:hidden}
.photo-viewer{width:min(1120px,calc(100% - 64px));height:calc(100vh - 64px);height:calc(100dvh - 64px);max-width:none;max-height:none;margin:auto;padding:0;border:1px solid #b98a3c88;border-radius:12px;background:var(--pine);color:var(--cream);box-shadow:0 24px 100px #0009;overflow:hidden}
.photo-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr)}
.photo-viewer::backdrop{background:#05100ddd;backdrop-filter:blur(4px)}
.photo-viewer-header{display:flex;align-items:center;gap:20px;padding:16px 22px;border-bottom:1px solid #b98a3c55}
.photo-viewer-header h2{flex:1;min-width:0;margin:0;font-size:clamp(18px,2vw,25px);line-height:1.35;overflow-wrap:anywhere;max-height:25vh;overflow:auto;color:var(--gold)}
.photo-viewer-close{display:inline-flex;align-items:center;justify-content:center;gap:9px;flex:none;min-height:48px;padding:8px 16px;border:1px solid #b98a3c99;border-radius:5px;background:#19362e;color:var(--cream);font:500 17px Jost,system-ui,sans-serif;cursor:pointer}
.photo-viewer-close span{font:28px/1 system-ui,sans-serif}
.photo-viewer-close:hover{background:#254a3e}
.photo-viewer-close:focus-visible{outline-offset:3px}
.photo-viewer-stage{position:relative;min-height:0;padding:20px;background:#071611}
.photo-viewer-image{display:block;width:100%;height:100%;object-fit:contain}
.photo-viewer-image[hidden],.photo-viewer-status[hidden]{display:none}
.photo-viewer-status{position:absolute;inset:0;display:grid;place-content:center;text-align:center;margin:0;padding:24px;font-size:18px}
@media(max-width:600px){.photo-viewer{width:calc(100% - 16px);height:calc(100vh - 24px);height:calc(100dvh - 24px);border-radius:8px}.photo-viewer-header{gap:12px;padding:12px}.photo-viewer-close{padding:8px 12px}.photo-viewer-stage{padding:8px}}


/* A consistent portrait frame keeps every row aligned, including phone screenshots. */
.item-photo{display:block;position:relative;aspect-ratio:3/4;flex:none;overflow:hidden;background:#19362e}.item-photo>img{display:block;width:100%;height:100%;max-height:none;object-fit:cover;object-position:center}.item-photo>span{position:absolute;right:12px;bottom:12px;padding:5px 10px;background:#0f2622de;border:1px solid #e8c66a66;border-radius:3px;color:#f3ede0;font-size:12px;line-height:1.5;pointer-events:none}.item-photo:hover>span,.item-photo:focus-visible>span{background:#0f2622;color:var(--gold)}.item-photo:focus-visible{outline-offset:-5px}
