@font-face{font-family:Ogg;src:url(/fonts/ogg-regular.ttf) format("truetype");font-display:swap}:root{--color-bg: #fbfaf7;--color-sand: #e9e1d3;--color-tan: #b9a88f;--color-amber: #a95424;--color-sage: #526f68;--color-text: #1f2d2b;--page-gutter: clamp(16px, 5vw, 64px);--section-block: clamp(32px, 6vw, 72px);--compact-section-block: clamp(28px, 5vw, 54px);--content-narrow: 760px;--touch-target: 44px;--gallery-gap: clamp(16px, 2.5vw, 24px)}*{box-sizing:border-box}html{min-height:100%;background:var(--color-bg);color:var(--color-text);font-family:Ogg,Georgia,Times New Roman,serif}body{min-height:100%;min-width:320px;margin:0;background:var(--color-bg);overflow-x:hidden}#root{min-height:100vh}img{display:block;max-width:100%}a{color:inherit}a svg,button svg{flex:0 0 auto}button,input,textarea{font:inherit}button{cursor:pointer}.site-shell{display:flex;min-height:100vh;min-height:100svh;flex-direction:column}.site-main{flex:1 0 auto;display:flex;flex-direction:column}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:clamp(14px,3vw,24px);padding:clamp(14px,2.5vw,18px) var(--page-gutter);background:color-mix(in srgb,var(--color-bg) 92%,transparent);border-bottom:1px solid var(--color-tan);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{color:var(--color-amber);font-size:clamp(1.08rem,3.3vw,1.25rem);font-weight:700;text-decoration:none}.nav-links,.site-footer,.button-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px clamp(14px,2.6vw,20px)}.nav-links{justify-content:flex-end}.nav-links a,.text-link,.site-footer a{display:inline-flex;align-items:center;gap:8px;min-width:0;text-decoration-color:var(--color-tan);text-underline-offset:4px}.nav-links .admin-nav-link{min-height:36px;padding:7px 12px;border:1px solid var(--color-amber);border-radius:6px;background:var(--color-amber);color:var(--color-bg);text-decoration:none}.hero,.about-hero{display:flex;align-items:end;padding:clamp(44px,10vw,112px) var(--page-gutter)}.hero{min-height:clamp(340px,46vh,560px);min-height:clamp(340px,46svh,560px)}.about-hero{padding-top:clamp(36px,7vw,84px);padding-bottom:var(--compact-section-block)}.about-hero h1{font-size:clamp(2.35rem,10vw,6rem)}.hero,.about-hero,.bio-section{background:var(--color-sand)}.content-narrow,.hero-copy{width:min(var(--content-narrow),100%)}.eyebrow{margin:0 0 12px;color:var(--color-amber);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3{color:var(--color-text);letter-spacing:0}h1{margin:0;font-size:clamp(2.35rem,12vw,7rem);line-height:.95}h2{margin:0 0 16px;font-size:clamp(1.6rem,4vw,2.4rem)}h3{margin:0 0 6px;font-size:1.2rem}p{line-height:1.7}.hero p:last-child,.content-narrow p{max-width:60ch;font-size:clamp(1rem,2.4vw,1.08rem)}.gallery-section,.bio-section,.tagline-section,.contact-section,.admin-shell,.admin-dashboard{padding:var(--section-block) var(--page-gutter)}.masonry-grid{columns:3 260px;column-gap:var(--gallery-gap)}.gallery-item{break-inside:avoid;margin:0 0 var(--gallery-gap);padding:0 0 14px;background:var(--color-bg);border-bottom:1px solid var(--color-tan)}.gallery-trigger{width:100%;min-height:auto;padding:0;border:0;border-radius:8px;background:var(--color-sand);overflow:hidden}.gallery-trigger img{width:100%;aspect-ratio:4 / 3;height:auto;object-fit:cover}.gallery-meta{display:grid;grid-template-rows:auto 1.7em;align-content:start}.gallery-item h2{margin:12px 0 4px;font-size:clamp(1.08rem,2vw,1.2rem);line-height:1.18}.gallery-item p{margin:0;color:var(--color-amber);font-weight:700;line-height:1.7}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:clamp(16px,4vw,44px);background:color-mix(in srgb,var(--color-text) 90%,transparent);animation:fade-in .18s ease-out}.lightbox-frame{display:grid;gap:16px;justify-items:center;min-width:0;margin:0;max-width:100%}.lightbox-frame img,.image-fallback{max-height:72vh;max-height:72svh;max-width:100%;border:1px solid var(--color-tan);background:var(--color-sand)}.lightbox-frame img{object-fit:contain}.image-fallback{display:grid;place-items:center;width:min(720px,80vw);min-height:42vh;padding:32px;color:var(--color-text);text-align:center}.lightbox figcaption{width:min(760px,100%);color:var(--color-bg)}.lightbox figcaption h2,.lightbox figcaption p{color:var(--color-bg);margin:0 0 8px}.lightbox-close,.lightbox-nav{border-color:var(--color-bg);color:var(--color-bg);background:color-mix(in srgb,var(--color-text) 72%,transparent)}.lightbox-close{position:absolute;top:18px;right:18px;width:var(--touch-target);padding:0}.lightbox-nav{width:var(--touch-target);padding:0}.about-story{display:grid;grid-template-columns:minmax(0,660px) minmax(240px,340px);gap:clamp(32px,5vw,56px);align-items:center;justify-content:center;padding-top:clamp(24px,4vw,48px)}.about-hero .content-narrow{width:min(1100px,100%);margin:0 auto}.bio-copy{max-width:64ch}.bio-copy p{margin:0 0 1.15em;font-size:clamp(1rem,2vw,1.08rem)}.bio-copy p:last-child{margin-bottom:0}.bio-portrait{justify-self:center;margin:0}.bio-portrait img{width:min(100%,300px);height:auto;max-height:min(54vh,430px);object-fit:contain;border-radius:8px;border:1px solid var(--color-tan)}.tagline-section{background:var(--color-sage);color:var(--color-bg);text-align:center}.tagline-section p{margin:0;font-size:clamp(1.6rem,4vw,3rem)}.contact-section{flex:1;min-height:min(620px,100%);display:grid;place-items:center;text-align:center}.contact-section .content-narrow{display:grid;gap:16px;justify-items:center}.gallery-empty{min-height:32vh;display:grid;align-content:center}.gallery-empty h2,.gallery-empty p{max-width:62ch}.page-message{margin:0;padding:0 var(--page-gutter) var(--section-block);color:var(--color-amber);font-weight:700}.admin-shell{min-height:70vh;display:grid;place-items:center}.admin-grid{display:grid;grid-template-columns:minmax(280px,480px) minmax(0,1fr);gap:24px;align-items:start}.admin-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:24px}.panel,.auth-panel{background:var(--color-sand);border:1px solid var(--color-tan);border-radius:8px;padding:clamp(18px,4vw,24px);min-width:0}.auth-panel{width:min(100%,440px)}.stack-form{display:grid;gap:16px}label{display:grid;gap:8px;color:var(--color-text);font-weight:700}input,textarea{width:100%;min-width:0;border:1px solid var(--color-tan);border-radius:6px;padding:11px 12px;background:var(--color-bg);color:var(--color-text)}textarea{resize:vertical}progress{width:100%;accent-color:var(--color-amber)}button,.button-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--touch-target);border:1px solid var(--color-amber);border-radius:6px;padding:10px 16px;background:var(--color-amber);color:var(--color-bg);font-weight:700;text-decoration:none}button:disabled{cursor:wait;opacity:.72}.secondary-button{background:var(--color-sand);color:var(--color-text);border-color:var(--color-tan)}.form-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:end}.checkbox-label{display:flex;align-items:center;gap:10px;margin-bottom:11px;white-space:nowrap}.checkbox-label input{width:auto}.form-message{min-height:1.4em;margin:0;color:var(--color-amber);font-weight:700}.manager{display:grid;gap:16px}.manager-item{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;padding-top:16px;border-top:1px solid var(--color-tan)}.manager-item img{width:96px;height:96px;object-fit:cover;border-radius:6px;background:var(--color-tan)}.manager-copy{display:grid;gap:8px;align-content:start}.manager-copy p{margin:0;color:var(--color-amber);font-weight:700}.manager-edit{min-width:0}.site-footer{justify-content:space-between;padding:clamp(22px,4vw,26px) var(--page-gutter);background:var(--color-sand);border-top:1px solid var(--color-tan)}.site-footer p{margin:0;font-weight:700}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media(max-width:820px){:root{--page-gutter: clamp(16px, 4.8vw, 28px);--section-block: clamp(28px, 7vw, 48px);--gallery-gap: 18px}.site-header{align-items:flex-start;flex-direction:column;gap:10px}.nav-links{justify-content:flex-start;gap:8px 16px}.about-story,.admin-grid,.form-row,.manager-item{grid-template-columns:1fr}.hero{min-height:clamp(300px,42svh,430px)}.about-story{align-items:start}.bio-portrait{justify-self:start;max-width:min(100%,360px);order:-1}.admin-heading{align-items:start;flex-direction:column}.admin-heading h1{line-height:1}.checkbox-label{white-space:normal}.lightbox{position:fixed;grid-template-columns:1fr;align-items:center;overflow-y:auto;padding:64px var(--page-gutter) 28px}.lightbox-frame{gap:14px;width:100%}.lightbox-frame img,.image-fallback{max-height:62svh;width:auto}.image-fallback{width:100%;min-height:34svh}.lightbox figcaption{padding-inline:4px}.lightbox figcaption h2{font-size:clamp(1.35rem,6vw,2rem)}.lightbox-nav{position:absolute;top:50%;z-index:2;transform:translateY(-50%);background:color-mix(in srgb,var(--color-text) 78%,transparent)}.lightbox-prev{left:max(8px,calc(var(--page-gutter) / 2))}.lightbox-next{right:max(8px,calc(var(--page-gutter) / 2))}.site-footer{justify-content:flex-start}}@media(max-width:640px){.masonry-grid{columns:1}.gallery-trigger img{aspect-ratio:5 / 4}.gallery-meta{grid-template-rows:auto minmax(1.5em,auto)}.contact-section{align-content:center;min-height:56svh}.button-row{align-items:stretch;gap:10px}.button-row>button,.button-row>.button-link{flex:1 1 10rem}.manager-item img{width:min(100%,180px);height:auto;aspect-ratio:1}}@media(max-width:480px){:root{--page-gutter: 16px;--section-block: 28px}.site-header{position:sticky;padding-block:12px}.brand{line-height:1.15}.nav-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:8px}.nav-links a{justify-content:center;min-height:34px;font-size:.94rem;text-align:center}.nav-links .admin-nav-link{grid-column:1 / -1}.hero,.about-hero{padding-block:34px}.hero{min-height:280px}.eyebrow{font-size:.72rem}.gallery-section,.bio-section,.tagline-section,.contact-section,.admin-shell,.admin-dashboard{padding-block:var(--section-block)}.bio-portrait,.bio-portrait img{width:100%;max-width:320px}.panel,.auth-panel{border-radius:6px}.auth-panel h1,.admin-heading h1{font-size:clamp(2rem,14vw,2.8rem)}.stack-form{gap:14px}button,.button-link{width:100%;padding-inline:12px}.lightbox-close{top:12px;right:12px}.lightbox-frame img,.image-fallback{max-height:56svh}.site-footer{gap:10px 18px}}
