:root{--color-moss: #4C4C34;--color-moss-dark: #373725;--color-moss-light: #606042;--color-moss-subtle: #EDEEE8;--color-cream: #EBDED0;--color-cream-light: #FAF7F2;--color-cream-card: #FDFBF8;--color-cream-border: #E4D5C5;--color-flint: #413933;--color-flint-muted: #6E645D;--color-flint-light: #948A82;--color-sandstone: #C7AC8F;--color-sandstone-light: #E7DBCE;--color-sandstone-dark: #A58766;--color-leather: #7B4C2C;--color-leather-hover: #633C21;--color-leather-subtle: #F6EEE8;--color-white: #FFFFFF;--color-black: #1E1A17;--color-success: #3A6943;--color-success-bg: #EDF5EE;--color-danger: #8F3A34;--color-danger-bg: #FAEEED;--font-serif: "Cormorant Garamond", Georgia, serif;--font-display: "Cinzel", serif;--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--shadow-xs: 0 1px 2px rgba(65, 57, 51, .05);--shadow-sm: 0 2px 6px rgba(65, 57, 51, .06);--shadow-md: 0 6px 16px rgba(65, 57, 51, .08);--shadow-lg: 0 14px 32px rgba(65, 57, 51, .12);--shadow-xl: 0 24px 52px -12px rgba(45, 38, 33, .22);--radius-sm: 6px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 26px;--radius-full: 9999px;--ease-spring: cubic-bezier(.16, 1, .3, 1);--duration-fast: .15s;--duration-base: .25s;--duration-slow: .4s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);font-size:16px;line-height:1.5;color:var(--color-flint);background-color:var(--color-cream-light);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;overflow-x:clip;background-color:var(--color-cream-light);color:var(--color-flint)}img,svg,picture{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit;border:none;background:none}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237B4C2C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .85rem center;background-size:15px 15px;padding-right:2.2rem;cursor:pointer}select::-ms-expand{display:none}.pill-select{appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;padding:.6rem 2.6rem .6rem 1.25rem!important;border-radius:var(--radius-full)!important;border:1px solid var(--color-sandstone)!important;font-size:.88rem!important;font-weight:600!important;color:var(--color-flint)!important;background-color:var(--color-white)!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237B4C2C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 1.15rem center!important;background-size:15px 15px!important;outline:none!important;cursor:pointer!important;box-shadow:0 1px 2px #4139330d;transition:border-color .2s ease,box-shadow .2s ease}.pill-select:focus{border-color:var(--color-leather)!important;box-shadow:0 0 0 3px #7b4c2c1f!important}.font-serif{font-family:var(--font-serif)}.font-display{font-family:var(--font-display)}.font-sans{font-family:var(--font-sans)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.6rem;font-family:var(--font-sans);font-size:.95rem;font-weight:600;letter-spacing:.02em;border-radius:var(--radius-full);transition:all var(--duration-base) var(--ease-spring);text-align:center;white-space:nowrap}.btn-primary{background-color:var(--color-leather);color:var(--color-white);box-shadow:0 4px 14px #7b4c2c40}.btn-primary:hover{background-color:var(--color-leather-hover);transform:translateY(-1px);box-shadow:0 6px 20px #7b4c2c59}.btn-moss{background-color:var(--color-moss);color:var(--color-white);box-shadow:0 4px 14px #4c4c3440}.btn-moss:hover{background-color:var(--color-moss-dark);transform:translateY(-1px);box-shadow:0 6px 20px #4c4c3459}.btn-outline{border:1.5px solid var(--color-flint);color:var(--color-flint);background-color:var(--color-white);transition:all var(--transition-fast)}.btn-outline:hover,.btn-outline:focus-visible{background-color:var(--color-flint)!important;color:var(--color-white)!important;border-color:var(--color-flint)!important}.btn-outline:hover svg,.btn-outline:focus-visible svg,.btn-outline:hover *,.btn-outline:focus-visible *{color:var(--color-white)!important;stroke:var(--color-white)!important}.btn-outline-moss{border:1.5px solid var(--color-moss);color:var(--color-moss-dark);background-color:var(--color-white);transition:all var(--transition-fast)}.btn-outline-moss:hover,.btn-outline-moss:focus-visible{background-color:var(--color-moss)!important;color:var(--color-white)!important;border-color:var(--color-moss)!important}.btn-outline-moss:hover svg,.btn-outline-moss:focus-visible svg,.btn-outline-moss:hover *,.btn-outline-moss:focus-visible *{color:var(--color-white)!important;stroke:var(--color-white)!important}.btn-outline-white{border:1.5px solid var(--color-white);color:var(--color-white);background:#ffffff1f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-outline-white:hover{background:var(--color-white);color:var(--color-flint)}.btn-sm{padding:.5rem 1rem;font-size:.85rem}.btn-lg{padding:1.05rem 2.2rem;font-size:1.05rem}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;border-radius:var(--radius-full)}.badge-moss{background-color:var(--color-moss-subtle);color:var(--color-moss-dark)}.badge-sandstone{background-color:var(--color-cream);color:var(--color-flint)}.badge-leather{background-color:var(--color-leather-subtle);color:var(--color-leather)}.glass-panel{background:#ffffffe0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(235,222,208,.7)}.container{width:100%;max-width:1240px;margin:0 auto;padding:0 1.25rem}@media(min-width:768px){.container{padding:0 2rem}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-cream-light)}::-webkit-scrollbar-thumb{background:var(--color-sandstone);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-sandstone-dark)}.workshop-schedule-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:1.35rem;align-items:start}.workshop-calendar-sidebar{background-color:#fffffff5;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg);padding:.85rem 1.15rem;border:1px solid var(--color-sandstone);box-shadow:0 6px 20px #41393314;position:sticky;top:88px;z-index:60}.mobile-calendar-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;gap:.75rem;cursor:pointer;text-align:left;background:none;border:none;padding:.1rem 0;color:var(--color-flint)}.workshop-calendar-body{display:none;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-cream-border);max-width:420px;max-height:calc(100vh - 170px);overflow-y:auto}.workshop-calendar-body.is-open{display:block}@media(min-width:990px){.workshop-schedule-layout{grid-template-columns:360px minmax(0,1fr);gap:2.25rem}.workshop-calendar-sidebar{background-color:var(--color-white);backdrop-filter:none;-webkit-backdrop-filter:none;padding:1.6rem 1.4rem;border:1px solid var(--color-cream-border);box-shadow:var(--shadow-sm);position:sticky;top:90px;z-index:10}.mobile-calendar-toggle{display:none}.workshop-calendar-body{display:block!important;margin-top:0;padding-top:0;border-top:none;max-width:none;max-height:none;overflow:visible}}.project-categories-sticky-wrap{position:sticky;top:88px;z-index:60;margin-bottom:1.25rem}.mobile-category-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.85rem 1.15rem;border-radius:var(--radius-lg);background-color:#fffffff5;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-sandstone);box-shadow:0 6px 20px #41393314;font-size:.92rem;font-weight:600;color:var(--color-flint);cursor:pointer}.project-categories-bar{display:none;flex-wrap:wrap;gap:.5rem;margin-top:.5rem;padding:1rem;background-color:#fffffffa;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg);border:1px solid var(--color-sandstone);box-shadow:0 10px 26px #4139331f;max-height:calc(100vh - 170px);overflow-y:auto}.project-categories-bar.is-open{display:flex}@media(min-width:768px){.project-categories-sticky-wrap{position:static;margin-bottom:1.5rem}.mobile-category-toggle{display:none}.project-categories-bar{display:flex!important;flex-wrap:wrap;gap:.6rem;margin-top:0;padding:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:none;box-shadow:none;max-height:none;overflow:visible}}.workshop-events-main{display:flex;flex-direction:column;gap:1.25rem;min-width:0}.workshop-events-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;padding-bottom:.25rem}.workshop-events-list{display:flex;flex-direction:column;gap:.95rem;width:100%}.filter-pill{padding:.42rem 1rem;border-radius:var(--radius-full);font-size:.82rem;font-weight:600;border:1px solid var(--color-sandstone);background-color:var(--color-white);color:var(--color-flint);cursor:pointer;transition:all .2s ease}.filter-pill:hover{background-color:var(--color-cream-light);border-color:var(--color-leather)}.filter-pill.active{background-color:var(--color-leather);border-color:var(--color-leather);color:var(--color-white)}.workshop-events-grid{display:grid;grid-template-columns:1fr;gap:1.15rem;width:100%}@media(min-width:860px){.workshop-events-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1.15rem 1.25rem!important}}.workshop-event-card{background-color:var(--color-white);border:1px solid #E5E7EB;border-radius:12px;padding:.95rem 1.15rem;display:flex;align-items:center;gap:1rem;box-shadow:0 1px 3px #0000000a;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;cursor:pointer;box-sizing:border-box;width:100%;min-height:98px}.workshop-event-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000012;border-color:#d1d5db}.workshop-event-card .card-thumb-wrapper{flex-shrink:0}.workshop-event-card .card-thumb{width:96px;height:72px;border-radius:8px;object-fit:cover;display:block;background-color:#f3f4f6}.workshop-event-card .card-body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:2px}.workshop-event-card .card-date-time{font-size:.82rem;font-weight:500;color:#4b5563;line-height:1.25}.workshop-event-card .card-title{font-size:1.05rem;font-weight:700;color:#111827;line-height:1.25;margin:0;white-space:normal;word-break:break-word}.workshop-event-card .card-location{font-size:.8rem;color:#6b7280;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workshop-event-card .card-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.workshop-btn-interested{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .9rem;border-radius:8px;border:1px solid transparent;background-color:#e2e8f0;color:#1e293b;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .18s ease;white-space:nowrap}.workshop-btn-interested:hover{background-color:#cbd5e1}.workshop-btn-interested.active{background-color:#7b4c2c;color:#fff}.workshop-btn-share{width:38px;height:38px;border-radius:8px;border:none;background-color:#e2e8f0;color:#1e293b;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .18s ease;flex-shrink:0}.workshop-btn-share:hover{background-color:#cbd5e1;color:#0f172a}.workshop-session-card{background-color:var(--color-white);border-radius:var(--radius-lg);padding:1.35rem 1.5rem;border:1px solid var(--color-cream-border);box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;display:flex;gap:1.35rem;align-items:stretch}.workshop-session-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-sandstone)}.workshop-session-photo{width:150px;min-width:150px;height:128px;border-radius:10px;object-fit:cover;display:block;background-color:#f3f4f6;flex-shrink:0;align-self:flex-start}@media(max-width:680px){.workshop-session-card{flex-direction:column;padding:1.15rem;gap:1rem}.workshop-session-photo{width:100%;min-width:100%;height:160px}}.full-calendar-wrapper{background-color:var(--color-white);border-radius:var(--radius-lg);border:1px solid var(--color-cream-border);box-shadow:var(--shadow-md);overflow:hidden;width:100%}.full-calendar-header-bar{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.75rem;background-color:var(--color-white);border-bottom:1px solid var(--color-cream-border);flex-wrap:wrap;gap:1rem}.full-calendar-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.full-calendar-inner{min-width:820px}.full-calendar-table-header{display:grid;grid-template-columns:repeat(7,1fr);background-color:#37312c;color:#fff;text-align:center;font-weight:700;font-size:.82rem;letter-spacing:.08em;padding:.75rem 0;text-transform:uppercase}.full-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);background-color:#e5e7eb;gap:1px}.full-calendar-day-cell{background-color:var(--color-white);min-height:125px;padding:.5rem;display:flex;flex-direction:column;gap:.35rem;box-sizing:border-box;transition:background-color .15s ease}.full-calendar-day-cell.other-month{background-color:#f9fafb;opacity:.55}.full-calendar-day-cell.is-today{background-color:#fff9ee}.full-calendar-day-num{font-size:.85rem;font-weight:700;color:#4b5563;text-align:right;line-height:1;margin-bottom:2px}.full-calendar-event-chip{border-radius:6px;padding:5px 7px;color:#fff;font-size:.74rem;line-height:1.25;cursor:pointer;box-shadow:0 1px 2px #0000001a;transition:transform .15s ease,filter .15s ease,box-shadow .15s ease}.full-calendar-event-chip:hover{transform:translateY(-1px);filter:brightness(1.12);box-shadow:0 4px 8px #0000002e}@media(max-width:767px){.full-calendar-header-bar{padding:1rem 1.15rem}.full-calendar-inner{min-width:0}.full-calendar-table-header{display:none}.full-calendar-grid{grid-template-columns:1fr}.full-calendar-day-cell.other-month,.full-calendar-day-cell.empty-day{display:none}.full-calendar-day-cell{min-height:auto;padding:.85rem 1rem}}.hero-feature-chips-container{margin-top:3.25rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.85rem;width:100%;max-width:920px;margin-left:auto;margin-right:auto}.hero-feature-chip{display:inline-flex;align-items:center;gap:.65rem;padding:.65rem 1.3rem;border-radius:var(--radius-full);background-color:#1a1512bd;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(228,213,197,.28);box-shadow:0 4px 18px #00000052,inset 0 1px #ffffff1a;color:var(--color-cream-light);font-size:.9rem;font-weight:500;letter-spacing:.01em;transition:all .22s ease;-webkit-user-select:none;user-select:none}.hero-feature-chip:hover{transform:translateY(-2px);background-color:#261f1ae0;border-color:var(--color-sandstone);box-shadow:0 8px 24px #0006;color:var(--color-white)}.hero-feature-icon-wrapper{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background-color:#c7ac8f33;flex-shrink:0}.gather-mosaic-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:165px;grid-auto-flow:dense;gap:.65rem}@media(min-width:768px){.gather-mosaic-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:.85rem}}.gather-mosaic-item{position:relative;overflow:hidden;border-radius:var(--radius-md);background-color:var(--color-cream-light);cursor:pointer;box-shadow:var(--shadow-xs)}.gather-mosaic-item.mosaic-large{grid-column:span 2;grid-row:span 2}.gather-mosaic-item.mosaic-wide{grid-column:span 2;grid-row:span 1}.gather-mosaic-item.mosaic-tall{grid-column:span 1;grid-row:span 2}.gather-mosaic-item img{width:100%;height:100%;object-fit:cover;object-position:center 25%;display:block;transition:transform .35s var(--ease-spring),filter .25s ease}.gather-mosaic-item:hover img{transform:scale(1.04)}
