@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600&family=Barlow:wght@400;500;600&display=swap";:root{--ink: #1b1b1b;--accent: #c2ae7e;--accent-ink: #1b1b1b;--paper: #faf9f6;--paper-sunk: #f4f1ea;--surface: #ffffff;--line: #e4ded3;--line-strong: #cfc7b8;--text: #1b1b1b;--muted: #6e6a63;--font-display: "Barlow Condensed", "Arial Narrow", system-ui, sans-serif;--font-body: "Barlow", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--radius: 0;--gutter: 1.25rem;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--text);font-family:var(--font-body);font-size:1rem;line-height:1.55;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}h1,h2,h3{font-family:var(--font-display);font-weight:500;text-transform:uppercase;letter-spacing:.02em;line-height:1.1;margin:0}h1{font-size:clamp(2rem,5vw,3.25rem)}h2{font-size:clamp(1.5rem,3.5vw,2.125rem)}h3{font-size:1.125rem;letter-spacing:.03em}p{margin:0 0 .75rem}p:last-child{margin-bottom:0}.muted{color:var(--muted)}.eyebrow{font-family:var(--font-body);font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.22em;color:var(--muted);margin:0 0 .5rem}.page{min-height:100dvh;display:flex;flex-direction:column}.page>main{flex:1}.wrap{width:100%;max-width:72rem;margin:0 auto;padding-inline:var(--gutter)}.section{padding-block:clamp(2.5rem,6vw,4.5rem)}.section--sunk{background:var(--paper-sunk)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.75rem}.centered{min-height:100dvh;display:grid;place-items:center;padding:1.5rem;text-align:center}.topbar{background:var(--ink);color:#fff}.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4rem}.topbar-brand{display:flex;align-items:center;gap:.75rem;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.12em;font-size:1.0625rem}.topbar-logo{max-height:2rem;width:auto}.topbar-tag{font-size:.625rem;letter-spacing:.18em;padding:.2rem .45rem;border:1px solid rgba(255,255,255,.35);color:#ffffffbf}.topbar nav{display:flex;gap:1.5rem;flex-wrap:wrap}.topbar nav a{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:#ffffffc7;text-decoration:none;padding-block:.35rem;border-bottom:2px solid transparent}.topbar nav a:hover{color:#fff}.topbar nav a[aria-current=page]{color:#fff;border-bottom-color:var(--accent)}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.1rem;font-family:var(--font-body);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.14em;text-decoration:none;color:var(--text);background:transparent;border:1px solid var(--line-strong);border-radius:var(--radius);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.btn:before{content:"→";font-size:.875rem;letter-spacing:0}.btn:hover{border-color:var(--ink)}.btn--primary{background:var(--ink);border-color:var(--ink);color:#fff}.btn--primary:hover{background:#000}.btn--accent{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn--plain:before{content:none}.btn:disabled{opacity:.5;cursor:not-allowed}.link-arrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:var(--text);text-decoration:none;border-bottom:1px solid var(--line-strong);padding-bottom:.15rem;white-space:nowrap}.link-arrow:after{content:" →"}.link-arrow:hover{border-bottom-color:var(--ink)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem}.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(15.5rem,1fr))}.chip{display:inline-flex;align-items:center;gap:.35rem;font-size:.625rem;font-weight:500;text-transform:uppercase;letter-spacing:.16em;padding:.25rem .5rem;background:var(--paper-sunk);border:1px solid var(--line);color:var(--muted)}.chip--accent{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.chip:before{content:"";width:.3rem;height:.3rem;border-radius:50%;background:currentColor}.chip--plain:before{content:none}.notice{border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--surface);padding:1rem 1.125rem;color:var(--muted);font-size:.9375rem}.notice strong{color:var(--text)}.signin{width:100%;max-width:26rem}.signin-brand{margin-bottom:1.75rem}.signin-logo{max-height:3.25rem;width:auto;margin:0 auto 1rem}.footer{background:var(--ink);color:#ffffffb8;font-size:.8125rem;padding-block:2rem}.footer a{color:#ffffffb8}.stack>*+*{margin-top:var(--stack-gap, 1rem)}.row{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.spread{display:flex;gap:1rem;justify-content:space-between;align-items:center;flex-wrap:wrap}@media(max-width:40rem){.topbar-inner{flex-wrap:wrap;padding-block:.75rem}.section-head{align-items:flex-start}}.wrap.narrow{max-width:44rem}.lede{max-width:34rem;margin-top:.75rem;font-size:1.0625rem}.small{font-size:.875rem}.nowrap{white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.empty{text-align:center;padding-block:2.5rem}.price{display:flex;flex-direction:column;gap:.1rem}.price-amount{font-family:var(--font-display);font-size:1.5rem;line-height:1;letter-spacing:.01em}.price-unit{font-size:.625rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}.price-note{font-size:.75rem;color:var(--muted)}.service-card{display:flex;flex-direction:column;justify-content:space-between;gap:1.25rem}.kicker{font-size:.6875rem;text-transform:uppercase;letter-spacing:.14em;color:#9a8558;margin:.3rem 0 .6rem}.service-card-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px solid var(--line)}.table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line)}.table th,.table td{padding:.75rem .875rem;text-align:left;vertical-align:middle;border-bottom:1px solid var(--line)}.table tbody tr:last-child td{border-bottom:0}.table th{font-size:.625rem;font-weight:500;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);background:var(--paper-sunk)}.table .is-inactive td{opacity:.5}@media(max-width:52rem){.table thead{display:none}.table,.table tbody,.table tr,.table td{display:block;width:100%}.table tr{border-bottom:1px solid var(--line);padding:.5rem 0}.table td{border:0;padding:.35rem .875rem}}.list{list-style:none;margin:0;padding:0;border:1px solid var(--line);background:var(--surface)}.list li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .875rem;border-bottom:1px solid var(--line)}.list li:last-child{border-bottom:0}.form{display:flex;flex-direction:column;gap:1.125rem}.form label{display:flex;flex-direction:column;gap:.35rem}.form label>span{font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.form label>span em{font-style:normal;text-transform:none;letter-spacing:0}.form input,.form textarea,.form select{font:inherit;color:inherit;padding:.6rem .7rem;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius)}.form input:focus,.form textarea:focus,.form select:focus{outline:2px solid var(--ink);outline-offset:-1px}.form textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:34rem){.form-row{grid-template-columns:1fr}}.form-error{color:#8c2f24;background:#fdf3f1;border:1px solid #e7cdc7;padding:.7rem .875rem;font-size:.9375rem}.form-warn{color:#8a6d1f}.btn--small{padding:.4rem .7rem;font-size:.6875rem}.notice.small{font-size:.875rem}.modal{width:min(36rem,calc(100vw - 2rem));max-height:85dvh;padding:0;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper);color:var(--text);overflow:hidden}.modal[open]{display:flex;flex-direction:column}.modal--wide{width:min(58rem,calc(100vw - 2rem))}.modal::backdrop{background:#00000073}.modal-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;background:var(--surface);border-bottom:1px solid var(--line)}.modal-head h2{font-size:1.25rem}.modal-close{border:0;background:transparent;font-size:1rem;line-height:1;padding:.4rem;cursor:pointer;color:var(--muted)}.modal-close:hover{color:var(--text)}.modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:1.25rem}.modal-foot{flex:0 0 auto;display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;padding:1rem 1.25rem;background:var(--surface);border-top:1px solid var(--line)}.switch{display:inline-flex;align-items:center;gap:.6rem;padding:0;border:0;background:none;font:inherit;cursor:pointer;color:inherit}.switch-track{position:relative;width:2.5rem;height:1.375rem;flex:0 0 auto;background:#cfc7b8;border-radius:999px;transition:background .15s}.switch-thumb{position:absolute;top:.1875rem;left:.1875rem;width:1rem;height:1rem;background:#fff;border-radius:50%;transition:transform .15s}.switch[aria-checked=true] .switch-track{background:#3f7d52}.switch[aria-checked=true] .switch-thumb{transform:translate(1.125rem)}.switch:disabled{opacity:.5;cursor:not-allowed}.switch:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.switch-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.form-error-inline{color:#8c2f24;font-size:.875rem}.rule{border:0;border-top:1px solid var(--line);margin:2rem 0}.service-card.is-selected{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.link-plain{display:inline-block;margin-top:.5rem;padding:0;border:0;background:none;font:inherit;font-size:.8125rem;color:var(--text);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.details{margin-top:.5rem}.selection-bar{position:sticky;bottom:0;background:var(--ink);color:#fff;padding-block:.875rem;z-index:5}.selection-bar-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.9375rem}.line-items{list-style:none;margin:1.5rem 0 0;padding:0;border-top:1px solid var(--line)}.line-items li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 0;border-bottom:1px solid var(--line)}.quoted{color:#8a6d1f}.totals{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem;padding:1.125rem 1.25rem;background:var(--surface);border:1px solid var(--line)}.totals>div{display:flex;flex-direction:column;gap:.15rem}.totals-label{font-size:.625rem;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}.totals-value{font-family:var(--font-display);font-size:1.75rem;line-height:1}.totals-suffix{font-size:.875rem;color:var(--muted);margin-left:.15rem}@media(max-width:34rem){.totals{grid-template-columns:1fr}}.chip--warn{background:#fdf3f1;border-color:#e7cdc7;color:#8c2f24}.event-list{display:flex;flex-direction:column;gap:1rem}.event-card{display:flex;gap:1.25rem;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--ink);padding:1.25rem}.event-card.is-cancelled{border-left-color:#c0796d}.event-card.is-cancelled h3{text-decoration:line-through}.event-date{flex:0 0 auto;width:3rem;text-align:center;font-family:var(--font-display);line-height:1}.event-day{display:block;font-size:1.875rem}.event-month{display:block;font-size:.6875rem;letter-spacing:.16em;color:var(--muted);margin-top:.2rem}.event-body{flex:1 1 auto;min-width:0}.event-meta{margin:.3rem 0 0;font-size:.875rem;color:var(--muted)}@media(max-width:34rem){.event-card{gap:.875rem;padding:1rem}.event-date{width:2.5rem}.event-day{font-size:1.5rem}}.admin-shell{display:grid;grid-template-columns:12rem 1fr;gap:2.5rem;align-items:start;padding-block:clamp(2rem,4vw,3rem)}.admin-nav{position:sticky;top:1.5rem}.admin-nav ul{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}.admin-nav a{display:block;padding:.5rem .875rem;margin-left:-1px;border-left:2px solid transparent;font-size:.9375rem;color:var(--muted);text-decoration:none}.admin-nav a:hover{color:var(--text);background:var(--paper-sunk)}.admin-nav a[aria-current=page]{color:var(--text);font-weight:500;border-left-color:var(--accent)}.admin-main{min-width:0}.admin-main .section{padding-block:0 2.5rem}.admin-main .wrap{padding-inline:0;max-width:none}@media(max-width:48rem){.admin-shell{grid-template-columns:1fr;gap:1.25rem}.admin-nav{position:static}.admin-nav ul{display:flex;flex-wrap:wrap;gap:.25rem;border-left:0;border-bottom:1px solid var(--line)}.admin-nav a{border-left:0;border-bottom:2px solid transparent;margin-left:0}.admin-nav a[aria-current=page]{border-left-color:transparent;border-bottom-color:var(--accent)}}.section--tight{padding-bottom:0}.event-row{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));align-items:start}.event-row .event-card{flex-direction:column;gap:.875rem}.event-row .event-date{display:flex;align-items:baseline;gap:.4rem;width:auto;text-align:left}.event-row .event-day{font-size:1.5rem}.event-row .event-month{margin-top:0}.event-meta{display:flex;align-items:flex-start;gap:.45rem}.event-meta svg{flex:0 0 auto;margin-top:.15rem;color:var(--muted)}.scope-choices{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.scope-choice{display:flex;align-items:center;gap:.625rem;padding:.7rem .875rem;background:var(--surface);border:1px solid var(--line);cursor:pointer}.scope-choice.is-on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.scope-choice input{margin:0;accent-color:var(--ink)}.repeats{display:inline-flex;align-items:center;gap:.25rem}.repeats svg{width:12px;height:12px}.chip .repeats svg,.chip>svg{width:11px;height:11px;margin-right:.1rem}.event-card .chip{max-width:100%}.calendar-menu{position:relative;display:inline-block}.calendar-menu>button{display:inline-flex;align-items:center;gap:.35rem}.calendar-menu-list{position:absolute;z-index:10;bottom:calc(100% + .4rem);left:0;min-width:11rem;background:var(--surface);border:1px solid var(--line-strong);box-shadow:0 6px 20px #0000001a}.calendar-menu-list a,.calendar-menu-list button{display:block;width:100%;padding:.55rem .75rem;border:0;background:none;font:inherit;font-size:.875rem;text-align:left;color:var(--text);text-decoration:none;cursor:pointer}.calendar-menu-list a:hover,.calendar-menu-list button:hover{background:var(--paper-sunk)}.calendar-menu-list>*+*{border-top:1px solid var(--line)}
