:root{font-synthesis:none;line-height:1.6;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);font-family:var(--font-body);color:var(--ink);overflow-wrap:anywhere;background:var(--paper)}::selection{background:var(--accent);color:var(--button-text)}a{color:inherit;text-underline-offset:5px;overflow-wrap:anywhere}a:hover{text-decoration-thickness:2px}a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:var(--font-heading);font-weight:500;line-height:1.08;letter-spacing:-.035em;text-wrap:balance}h1,h2,h3{overflow-wrap:anywhere}h1{font-size:clamp(2.4rem,5.5vw,5.3rem)}h2{font-size:clamp(2rem,3.4vw,3.4rem)}h3{font-size:1.2rem;line-height:1.3}p{max-width:68ch;overflow-wrap:anywhere}.shell,.footer{width:min(1200px,calc(100% - 40px));margin-inline:auto}.demo,.draft{padding:10px 20px;background:var(--accent);color:var(--button-text);text-align:center;font-size:.875rem}.wordmark{font-size:1.25rem;font-weight:600;letter-spacing:-.025em;text-decoration:none}.intro{font-size:1.05rem;line-height:1.8;margin-block:24px 28px}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;min-height:48px;background:var(--accent);color:var(--button-text);text-decoration:none;text-align:center;font-weight:600;border:1px solid var(--accent);border-radius:4px;transition:background .18s}.button:active{background:var(--hover)}.button.secondary{background:transparent;color:var(--accent)}.button.secondary:active{background:var(--accent);color:var(--button-text)}.contact-links{display:flex;flex-direction:column;gap:12px}.socials{display:flex;gap:12px 24px;flex-wrap:wrap;margin-top:20px}.socials a,.business-header nav a,.visit a,.footer a{display:inline-flex;align-items:center;min-height:44px}.footer{padding-block:24px;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;font-size:.875rem}.skip{position:absolute;left:12px;top:-100px;z-index:10;background:var(--paper);padding:12px}.skip:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.profile{display:flex;flex-direction:column;align-items:center;gap:16px;width:min(420px,calc(100% - 40px));padding-block:24px;text-align:center}.profile-photo{width:96px;height:96px;aspect-ratio:1;border-radius:50%;object-fit:cover;flex-shrink:0}.profile-identity h1{font-size:clamp(1.5rem,6vw,1.875rem);line-height:1.2;color:var(--accent)}.profile-identity p{margin-top:6px}.profile-intro{font-size:1rem;line-height:1.5}.profile .contact-links{width:100%;flex-direction:column;gap:10px}.profile .button{padding-block:11px}.profile .socials{justify-content:center;margin-top:0;gap:8px 20px}.business-header{display:flex;flex-direction:column;align-items:flex-start;padding-block:20px;gap:16px;color:var(--accent)}.business-header nav{display:flex;gap:8px 20px;flex-wrap:wrap}.business-header nav a{text-decoration:none}.business-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;align-items:center;padding-block:16px 48px;color:var(--accent)}.business-hero img{width:100%;aspect-ratio:1.25}.business-hero .intro{color:var(--ink)}.business-hero .button{width:100%}.menu-section{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;padding-block:40px 48px;border-top:1px solid var(--rule)}.section-heading p{margin-top:20px}.menu-list article{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-block:22px;border-bottom:1px solid var(--rule)}.menu-list article>div{flex:1 1 180px;min-width:0}.menu-list article:first-child{padding-top:0}.menu-list article p{margin-top:10px}.menu-list article>span{font-size:1rem;overflow-wrap:anywhere}.gallery{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;padding-bottom:48px}.gallery img{width:100%;aspect-ratio:1.4}.visit{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;padding-block:40px 48px;border-top:1px solid var(--rule)}.visit h3{margin-bottom:18px}.visit dl,.visit dd{margin:0}.visit dl div{margin-bottom:14px}.visit a{margin-top:12px}.contact-section{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;padding-block:40px 48px;border-top:1px solid var(--rule)}.contact-section p{margin-top:18px}.collection{padding-block:40px 56px}.collection .wordmark{margin-bottom:32px;color:var(--accent)}.collection h1{max-width:900px;color:var(--accent)}.template-list{display:grid;grid-template-columns:minmax(0,1fr);gap:40px;margin-top:36px}.template-list>a{text-decoration:none}.template-image{overflow:hidden}.template-image img{width:100%;aspect-ratio:1.5;transition:transform .3s}.template-caption{padding-top:20px}.template-caption h2{font-size:2rem}.template-caption p{margin-top:10px;font-size:1rem}.not-found{padding-block:64px;min-height:75vh}.not-found h1{margin-block:20px}.not-found .button{margin-top:28px}@media(min-width:600px){.contact-links{flex-direction:row;flex-wrap:wrap}.business-hero .button{width:auto}.gallery{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.visit{grid-template-columns:repeat(2,minmax(0,1fr))}.visit h2{grid-column:1/-1}}@media(min-width:900px){.shell:not(.profile),.footer{width:min(1200px,calc(100% - 96px))}.intro{font-size:1.12rem;margin-block:28px 32px}.business-header{flex-direction:row;align-items:center;justify-content:space-between;padding-block:30px;gap:24px}.business-header nav{gap:28px}.business-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:64px;padding-block:28px 80px}.business-hero img{aspect-ratio:1.05}.menu-section{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:64px;padding-block:70px 78px}.gallery{gap:28px;padding-bottom:80px}.visit{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding-block:64px 80px}.visit h2{grid-column:auto}.contact-section{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:48px;padding-block:60px 80px}.collection{padding-block:64px 80px}.template-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;margin-top:56px}}.business-hero.without-image{grid-template-columns:minmax(0,1fr);max-width:800px}@media(hover:hover){.button:hover{background:var(--hover);color:var(--button-text);text-decoration:underline}.button.secondary:hover{background:var(--accent);color:var(--button-text)}.template-list>a:hover img{transform:scale(1.025)}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}}
