.tp-root{background:var(--tpl-bg,#fff);min-height:100vh;color:var(--tpl-text,#111);font-family:var(--tpl-font-body,system-ui, sans-serif);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-text-size-adjust:100%;overflow-x:clip}html[data-theme=dark] .tp-root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.tp-root *,.tp-root :before,.tp-root :after{box-sizing:border-box}.tp-root [id]{scroll-margin-top:var(--tpl-anchor-offset,5rem)}.tp-root :focus-visible{outline:2px solid var(--tpl-accent-text,currentColor);outline-offset:2px}.tp-root a{overflow-wrap:anywhere}.tp-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.tp-skip{z-index:100;background:var(--tpl-accent,#000);color:var(--tpl-on-accent,#fff);border-radius:6px;padding:.5rem .9rem;position:fixed;top:.5rem;left:.5rem;transform:translateY(-200%)}.tp-skip:focus{transform:none}.tp-button{border:1px solid var(--tpl-border,#ddd);border-radius:var(--tpl-radius,8px);background:var(--tpl-surface,#fff);min-height:44px;color:var(--tpl-text,#111);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:.5rem;padding:.55rem 1.1rem;font-size:.95rem;display:inline-flex}.tp-button:hover{border-color:var(--tpl-accent-text,currentColor)}.tp-theme-toggle{border:1px solid var(--tpl-border,#ddd);width:44px;height:44px;color:inherit;cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.tp-theme-toggle:has(.tp-theme-label){gap:.6rem;width:auto;padding:0 1rem}.tp-theme-toggle svg{width:18px;height:18px}.tp-theme-toggle .tp-icon-moon,.tp-theme-toggle .tp-icon-system,html[data-theme-choice=dark] .tp-theme-toggle .tp-icon-sun,html[data-theme-choice=system] .tp-theme-toggle .tp-icon-sun{display:none}html[data-theme-choice=dark] .tp-theme-toggle .tp-icon-moon,html[data-theme-choice=system] .tp-theme-toggle .tp-icon-system{display:block}.tp-avatar{background:var(--tpl-surface,#eee);flex:none;display:block;overflow:hidden}.tp-avatar img{object-fit:cover;object-position:50% 25%;width:100%;height:100%;display:block}.tp-avatar-button{cursor:zoom-in;background:0 0;border:0;width:100%;height:100%;padding:0;display:block}.tp-avatar-button:focus-visible{outline:2px solid var(--tpl-accent,currentColor);outline-offset:-4px}.tp-avatar-initials{background:var(--tpl-accent,#444);color:var(--tpl-on-accent,#fff);font-family:var(--tpl-font-heading,inherit);letter-spacing:.02em;justify-content:center;align-items:center;font-weight:600;display:flex;container-type:size}.tp-avatar-initials>span{font-size:clamp(1rem,38cqmin,6rem);line-height:1}.tp-prose{overflow-wrap:anywhere;line-height:1.7}.tp-prose>*+*{margin-top:1em}.tp-prose ul,.tp-prose ol{padding-left:1.4em}.tp-prose ul{list-style:outside}.tp-prose ol{list-style:decimal}.tp-prose li+li{margin-top:.35em}.tp-prose a{color:var(--tpl-accent-text,inherit);text-underline-offset:3px;text-decoration:underline}.tp-prose h2,.tp-prose h3{font-family:var(--tpl-font-heading,inherit);margin-top:1.6em;line-height:1.3}.tp-prose blockquote{border-left:3px solid var(--tpl-border,#ddd);color:var(--tpl-muted,inherit);padding-left:1em}.tp-prose img{border-radius:var(--tpl-radius,8px);max-width:100%;height:auto}.tp-prose pre,.tp-prose code{font-family:ui-monospace,monospace;font-size:.9em}.tp-prose pre{border-radius:var(--tpl-radius,8px);background:var(--tpl-surface,#f4f4f4);padding:1em;overflow-x:auto}.tp-links{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.tp-links a{border:1px solid var(--tpl-border,#ddd);background:var(--tpl-surface,#fff);min-height:40px;color:var(--tpl-text,inherit);border-radius:999px;align-items:center;gap:.45rem;padding:.3rem .8rem .3rem .4rem;font-size:.9rem;text-decoration:none;display:inline-flex}.tp-links a:hover{border-color:var(--tpl-accent-text,currentColor)}.tp-link-mark{background:var(--tpl-accent,#444);min-width:1.7rem;height:1.7rem;color:var(--tpl-on-accent,#fff);border-radius:999px;justify-content:center;align-items:center;padding:0 .3rem;font-size:.7rem;font-weight:700;display:inline-flex}.tp-pubs-bar{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-bottom:1.5rem;display:flex}.tp-pubs-search{flex:18rem}.tp-pubs-search input{border:1px solid var(--tpl-border,#ddd);border-radius:var(--tpl-radius,8px);background:var(--tpl-surface,#fff);width:100%;min-height:44px;color:var(--tpl-text,inherit);padding:.5rem .9rem;font-family:inherit}.tp-pubs-count{color:var(--tpl-muted,#555);font-size:.9rem}.tp-pubs-kinds{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.25rem;margin:-.5rem 0 1.5rem;display:flex}.tp-pubs-chips{flex-wrap:wrap;gap:.5rem;display:flex}.tp-pubs-chip{border:1px solid var(--tpl-border,#ddd);background:var(--tpl-surface,#fff);min-height:36px;color:var(--tpl-text,#111);font:inherit;cursor:pointer;border-radius:999px;padding:.3rem .85rem;font-size:.9rem}.tp-pubs-chip span{color:var(--tpl-muted,#555)}.tp-pubs-chip:hover{border-color:var(--tpl-accent-text,currentColor)}.tp-pubs-chip[aria-pressed=true]{border-color:var(--tpl-accent,currentColor);background:var(--tpl-accent,#111);color:var(--tpl-on-accent,#fff)}.tp-pubs-chip[aria-pressed=true] span{color:inherit}.tp-pubs-group-by{color:var(--tpl-muted,#555);align-items:center;gap:.5rem;font-size:.9rem;display:inline-flex}.tp-pubs-group-by select{border:1px solid var(--tpl-border,#ddd);border-radius:var(--tpl-radius,8px);background:var(--tpl-surface,#fff);min-height:36px;color:var(--tpl-text,inherit);padding:.2rem .6rem;font-family:inherit}.tp-pubs-group+.tp-pubs-group{margin-top:1.75rem}.tp-pubs-group h3{border-bottom:1px solid var(--tpl-border,#ddd);color:var(--tpl-muted,#555);letter-spacing:.06em;margin-bottom:.6rem;padding-bottom:.4rem;font-size:.9rem;font-weight:600}.tp-pubs-group ul{margin:0;padding:0;list-style:none}.tp-pubs-group li+li{margin-top:1rem}.tp-pub-title{font-weight:600;line-height:1.4}.tp-pub-title a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--tpl-border,#ccc);text-decoration-color:var(--tpl-border,#ccc);text-underline-offset:3px}.tp-pub-title a:hover{color:var(--tpl-accent-text,inherit);text-decoration-color:currentColor}.tp-pub-authors,.tp-pub-meta{color:var(--tpl-muted,#555);margin-top:.15rem;font-size:.92rem}.tp-pubs-empty{color:var(--tpl-muted,#555);padding:2rem 0}.tp-pubs-more{margin-top:1.75rem}.tp-album+.tp-album{margin-top:2.25rem}.tp-album-title{border-bottom:1px solid var(--tpl-border,#ddd);color:var(--tpl-muted,#555);letter-spacing:.06em;margin:0 0 .75rem;padding-bottom:.4rem;font-size:.9rem;font-weight:600}.tp-gallery{gap:var(--tpl-gallery-gap,.75rem);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.tp-gallery figure{border:1px solid var(--tpl-border,#ddd);border-radius:var(--tpl-radius,8px);background:var(--tpl-surface,#fff);flex-direction:column;height:100%;margin:0;display:flex;overflow:hidden}.tp-gallery button{cursor:zoom-in;aspect-ratio:4/3;background:0 0;border:0;flex:1;width:100%;min-height:0;padding:0;display:block}.tp-gallery img{object-fit:cover;width:100%;height:100%;display:block}.tp-gallery figcaption{color:var(--tpl-muted,#555);padding:.6rem .8rem;font-size:.9rem;line-height:1.4}.tp-gallery[data-count="1"]{grid-template-columns:minmax(0,1fr);max-width:44rem}.tp-gallery[data-count="1"] button{aspect-ratio:16/10}.tp-gallery[data-count="3"] li:first-child,.tp-gallery[data-count="5"] li:first-child{grid-column:1/-1}.tp-gallery[data-count="3"] li:first-child button,.tp-gallery[data-count="5"] li:first-child button{aspect-ratio:16/9}@media (min-width:720px){.tp-gallery[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.tp-gallery[data-count="3"] li:first-child{grid-column:auto}.tp-gallery[data-count="3"] li:first-child button{aspect-ratio:4/3}.tp-gallery[data-count="5"]{grid-template-columns:repeat(6,minmax(0,1fr))}.tp-gallery[data-count="5"] li:nth-child(-n+2){grid-column:span 3}.tp-gallery[data-count="5"] li:nth-child(n+3){grid-column:span 2}.tp-gallery[data-count="5"] li:first-child button{aspect-ratio:4/3}.tp-gallery[data-count=many]{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr))}}.tp-gallery[data-count=many]{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr))}.tp-lightbox{color:#fff;background:#0a0a0aeb;border:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;padding:0}.tp-lightbox::backdrop{background:#0009}.tp-lightbox-body{flex-direction:column;justify-content:center;align-items:center;gap:.75rem;width:100%;height:100%;padding:4rem 1rem 2rem;display:flex}.tp-lightbox-body img{object-fit:contain;max-width:100%;max-height:calc(100dvh - 9rem)}.tp-lightbox-body p{text-align:center;max-width:40rem}.tp-lightbox-body button{color:#fff;cursor:pointer;background:#ffffff24;border:0;border-radius:999px;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex;position:absolute}.tp-lightbox-body button:focus-visible{outline:2px solid #fff}.tp-lightbox-close{top:.75rem;right:.75rem}.tp-lightbox-prev{top:50%;left:.5rem}.tp-lightbox-next{top:50%;right:.5rem}@media (prefers-reduced-motion:reduce){.tp-root *,.tp-root :before,.tp-root :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.tp-form{gap:1rem;max-width:36rem;display:grid}.tp-form fieldset{border:0;min-width:0;margin:0;padding:0}.tp-form legend,.tp-form label.tp-label{margin-bottom:.35rem;font-size:.9rem;font-weight:600;display:block}.tp-form input[type=text],.tp-form input[type=email],.tp-form textarea{border:1px solid var(--tpl-border,#ddd);border-radius:var(--tpl-radius,8px);background:var(--tpl-surface,#fff);width:100%;min-height:44px;color:var(--tpl-text,inherit);padding:.55rem .9rem;font-family:inherit;font-size:1rem}.tp-form textarea{resize:vertical;min-height:7rem}.tp-form-hint{color:var(--tpl-muted,#555);margin-top:.3rem;font-size:.85rem}.tp-form-error{color:#b42318;font-size:.9rem}html[data-theme=dark] .tp-form-error{color:#ff8b7e}.tp-form-done{border:1px solid var(--tpl-border,#ddd);border-radius:var(--tpl-radius,8px);background:var(--tpl-surface,#fff);padding:1rem 1.1rem}.tp-chips{flex-wrap:wrap;gap:.5rem;display:flex}.tp-chip{position:relative}.tp-chip input{opacity:0;cursor:pointer;position:absolute;inset:0}.tp-chip span{border:1px solid var(--tpl-border,#ddd);border-radius:var(--tpl-radius,8px);background:var(--tpl-surface,#fff);align-items:center;min-height:44px;padding:.4rem .85rem;font-size:.95rem;display:inline-flex}.tp-chip input:checked+span{border-color:var(--tpl-accent,currentColor);background:var(--tpl-accent,#000);color:var(--tpl-on-accent,#fff)}.tp-chip input:focus-visible+span{outline:2px solid var(--tpl-accent-text,currentColor);outline-offset:2px}.tp-button[data-primary]{border-color:var(--tpl-accent,currentColor);background:var(--tpl-accent,#000);color:var(--tpl-on-accent,#fff)}.tp-button:disabled{opacity:.6;cursor:default}.tp-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.tp-booking{margin-top:1.5rem}.tp-modal{border:1px solid var(--tpl-border,#ddd);border-radius:var(--tpl-radius,12px);background:var(--tpl-surface,#fff);width:min(34rem,100vw - 2rem);max-height:calc(100dvh - 2rem);color:var(--tpl-text,#111);font-family:var(--tpl-font-body,system-ui, sans-serif);margin:auto;padding:1.5rem;position:fixed;inset:0;overflow:auto}.tp-modal::backdrop{background:#0000008c}.tp-modal .tp-booking-title{padding-right:3rem}.tp-modal-close{width:44px;height:44px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:.5rem;right:.5rem}.tp-modal-close:hover{background:var(--tpl-border,#ddd)}.tp-booking-title{font-family:var(--tpl-font-heading,inherit);margin:0 0 .25rem;font-size:1.15rem}.tp-booking .tp-form{margin-top:1rem}.tp-comments-form{margin-top:1.5rem}.tp-comments-form-title{font-family:var(--tpl-font-heading,inherit);margin:0 0 .75rem;font-size:1.1rem}.tp-root a[class*=-brand]{margin-block:-12px;padding-block:12px}.tp-credit{margin-top:.35rem;font-size:.85rem;display:block}.tp-credit a{color:inherit;text-underline-offset:3px;text-decoration:underline}.tp-credit a:hover{text-decoration-thickness:2px}.tp-contact{grid-template-columns:minmax(0,1fr);gap:.75rem;margin:0;padding:0;list-style:none;display:grid}@media (min-width:40rem){.tp-contact{grid-template-columns:repeat(2,minmax(0,1fr))}}.tp-contact-item{border:1px solid var(--tpl-border,#ddd);border-radius:var(--tpl-radius,8px);background:var(--tpl-surface,transparent);min-width:0;padding:.9rem 1rem}.tp-contact-label{color:var(--tpl-muted,#555);margin:0 0 .35rem;font-size:.8125rem}.tp-contact-text{white-space:pre-line;overflow-wrap:anywhere;margin:0}.tp-contact-value{min-height:2.25rem;color:var(--tpl-accent-text,currentColor);overflow-wrap:anywhere;padding:.4rem 0;font-weight:600;display:inline-block}.tp-contact-reveal{border:1px solid var(--tpl-accent-text,currentColor);border-radius:var(--tpl-radius,8px);min-height:2.25rem;color:var(--tpl-accent-text,currentColor);font:inherit;cursor:pointer;background:0 0;align-items:center;padding:.4rem .9rem;font-size:.9375rem;font-weight:600;display:inline-flex}.tp-contact-reveal:hover{background:var(--tpl-accent,currentColor);color:var(--tpl-on-accent,#fff)}.tp-records{margin:0;padding:0;list-style:none}.tp-record{border-top:1px solid var(--tpl-border,#ddd);padding:.85rem 0}.tp-record:first-child{border-top:0;padding-top:0}.tp-record-title{color:var(--tpl-text,#111);overflow-wrap:anywhere;margin:0;font-weight:600}.tp-record-title a{color:var(--tpl-accent-text,inherit);text-underline-offset:2px;text-decoration:underline}.tp-record-text{color:var(--tpl-text,inherit);overflow-wrap:anywhere;margin:.45rem 0 0;line-height:1.55}.tp-record-sub,.tp-record-meta{color:var(--tpl-muted,#555);margin:.2rem 0 0;font-size:.9rem}