@font-face{font-family:DMSerif;src:url('/artifacts/forma-frontend--v1--s2--gpt-6-luna-codex--impeccable--2026-10-12T08-59-39-425Z/assets/dm-serif-display.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:DM Sans;src:url('/artifacts/forma-frontend--v1--s2--gpt-6-luna-codex--impeccable--2026-10-12T08-59-39-425Z/assets/dm-sans-variable.ttf') format('truetype');font-weight:100 1000;font-display:swap}
:root{--paper:#f5f0e8;--paper-deep:#ebe3d7;--ink:#242b26;--muted:#62675e;--green:#344d3e;--green-dark:#25392e;--red:#c34f36;--line:#d8d0c4;--serif:'DMSerif',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--page:1296px;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.55}::selection{background:var(--green);color:#fff9ef}button,input,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--red);outline-offset:4px}button{color:inherit}input{caret-color:var(--red)}html{scrollbar-color:#8c988c var(--paper);scrollbar-width:thin}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--paper)}::-webkit-scrollbar-thumb{background:#8c988c;border:3px solid var(--paper);border-radius:8px}.topbar{height:78px;max-width:var(--page);margin:auto;padding:0 34px;border-bottom:1px solid var(--line);display:flex;align-items:center;position:relative;z-index:3}.wordmark{font-family:var(--serif);font-size:34px;line-height:1;text-decoration:none;letter-spacing:-1.5px}.wordmark-dot{color:var(--red)}.topnav{display:flex;gap:36px;margin-left:76px;height:100%;align-items:center;font-size:13px}.topnav a{text-decoration:none;color:var(--muted);height:100%;display:flex;align-items:center;position:relative}.topnav .nav-current{color:var(--ink)}.nav-current:after{content:'';height:2px;background:var(--red);position:absolute;bottom:0;left:0;right:0}.top-note{margin-left:auto;display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12px;letter-spacing:.02em}.live-dot{width:7px;height:7px;background:#779172;border-radius:50%;box-shadow:0 0 0 4px #dfe5d8}.intro{max-width:var(--page);min-height:408px;margin:auto;padding:54px 34px 48px;display:grid;grid-template-columns:.88fr 1.12fr 22px;gap:47px;align-items:center;position:relative}.intro-copy{padding:0 0 0 28px}.overline{font-size:10px;line-height:1.2;text-transform:uppercase;letter-spacing:.16em;color:var(--red);font-weight:700;margin:0 0 14px}.intro h1{font:400 clamp(56px,6vw,82px)/.94 var(--serif);letter-spacing:-.045em;margin:0;max-width:500px}.intro h1 em,.catalog h2 em,.about-strip em{color:var(--red);font-weight:400}.intro-deck{max-width:330px;font-size:15px;color:#555b51;line-height:1.65;margin:20px 0 20px}.text-link{display:inline-flex;align-items:center;gap:13px;font-size:13px;font-weight:700;text-decoration:none;border-bottom:1px solid var(--red);padding-bottom:5px}.text-link span{font-size:17px;color:var(--red);transition:transform .2s}.text-link:hover span{transform:translate(3px,3px)}.intro-art{height:297px;position:relative;overflow:visible}.intro-art img{height:100%;width:100%;object-fit:cover;display:block;filter:saturate(.76)}.intro-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(18,28,20,.45),transparent 44%);pointer-events:none}.art-caption{position:absolute;z-index:1;bottom:17px;left:20px;right:20px;display:flex;justify-content:space-between;color:#fff;font-size:11px;letter-spacing:.02em}.sun-stamp{position:absolute;right:-22px;top:-19px;z-index:2;width:78px;height:78px;border-radius:50%;background:var(--red);color:#fff8ea;display:grid;place-content:center;text-align:center;font-size:10px;line-height:1.2;font-weight:700;letter-spacing:.14em;transform:rotate(9deg);box-shadow:0 5px 18px #51281825}.intro-index{writing-mode:vertical-rl;display:flex;align-items:center;gap:10px;color:#797d72;font-size:9px;letter-spacing:.17em}.intro-index i{width:1px;height:40px;background:var(--red)}
.catalog{background:var(--green);color:#f7f1e7;padding:41px max(34px,calc((100% - var(--page) + 68px)/2)) 57px;min-height:490px}.catalog-heading{max-width:var(--page);margin:auto;display:flex;align-items:end;justify-content:space-between}.catalog .overline{color:#e2a38a;margin-bottom:11px}.catalog h2{font:400 39px/1.12 var(--serif);letter-spacing:-.025em;margin:0}.catalog h2 em{color:#e2a38a}.catalog-note{font-size:12px;line-height:1.55;color:#d0d4c8;margin:0 4px 3px 0}.controls{max-width:var(--page);margin:27px auto 15px;display:flex;gap:11px;align-items:center}.search-wrap{height:47px;max-width:410px;flex:1;display:flex;align-items:center;gap:11px;padding:0 15px;border:1px solid #7d8d7e;background:#405847}.search-wrap svg{width:17px;height:17px;fill:none;stroke:#e0dfd2;stroke-width:1.5;flex:none}.search-wrap input{background:transparent;color:#fff9ef;border:0;outline:0;width:100%;min-width:0;font-size:13px}.search-wrap input::placeholder{color:#d1d6cc;opacity:1}.search-wrap:focus-within{outline:2px solid #e2a38a;outline-offset:2px}.select-wrap select{height:47px;min-width:166px;padding:0 38px 0 14px;color:#f8f2e8;background:#405847;border:1px solid #7d8d7e;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='m1 1 6 6 6-6' fill='none' stroke='%23f8f2e8' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;font-size:13px}.saved-toggle{height:47px;padding:0 16px;margin-left:auto;display:flex;align-items:center;gap:9px;border:1px solid #7d8d7e;background:transparent;color:#f8f2e8;cursor:pointer;font-size:13px;transition:background .18s,border .18s}.saved-toggle svg,.save-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5}.saved-count{min-width:21px;height:21px;padding:0 5px;display:grid;place-content:center;background:#607564;border-radius:20px;font-size:11px}.saved-toggle[aria-pressed=true]{background:#f8f2e8;color:var(--green);border-color:#f8f2e8}.saved-toggle[aria-pressed=true] svg,.save-button[aria-pressed=true] svg{fill:var(--red);stroke:var(--red)}.results-line{max-width:var(--page);margin:0 auto 13px;display:flex;align-items:center;gap:10px;color:#d0d4c8;font-size:11px;letter-spacing:.03em}.results-line #result-count{color:white;font-weight:700}.results-rule{height:1px;width:27px;background:#829185}.workshop-grid{max-width:var(--page);margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.workshop-card{min-width:0;background:var(--paper);color:var(--ink);display:flex;flex-direction:column;position:relative;animation:appear .42s cubic-bezier(.16,1,.3,1) both}.card-image{height:180px;position:relative;overflow:hidden;background:#d8d0c4}.card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s cubic-bezier(.16,1,.3,1)}.workshop-card:hover .card-image img{transform:scale(1.035)}.card-date{position:absolute;left:13px;top:13px;background:var(--paper);padding:6px 9px 5px;min-width:51px;text-align:center;color:var(--ink);font-family:var(--serif);font-size:17px;line-height:1.05}.card-date small{display:block;font:700 8px/1.4 var(--sans);text-transform:uppercase;letter-spacing:.13em;color:var(--red)}.card-content{padding:16px 17px 15px;display:grid;grid-template-columns:1fr auto;column-gap:10px;align-items:start}.card-category{grid-column:1 / -1;font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:var(--red);font-weight:700;margin-bottom:5px}.card-title{font:400 24px/1.05 var(--serif);letter-spacing:-.02em;margin:0 0 7px}.card-price{font:400 22px/1 var(--serif);white-space:nowrap}.card-meta{grid-column:1/-1;color:#63685e;font-size:11px;display:flex;gap:8px;align-items:center}.card-meta b{font-size:8px;color:var(--red)}.open-item{position:absolute;inset:0;z-index:1;border:0;background:transparent;cursor:pointer}.workshop-card:focus-within{outline:3px solid #e2a38a;outline-offset:3px}.workshop-card:focus-within .open-item:focus-visible{outline:0}.empty-state{max-width:var(--page);min-height:265px;margin:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-doodle svg{width:45px;height:45px;fill:none;stroke:#e2a38a;stroke-width:1.3;stroke-linecap:round}.empty-state h3{font:400 30px/1.1 var(--serif);margin:9px 0 5px}.empty-state p{font-size:13px;color:#d0d4c8;margin:0 0 15px}.empty-state .text-link{color:#fff8ed}.about-strip{max-width:var(--page);min-height:148px;padding:25px 34px;margin:auto;display:flex;align-items:center;gap:25px}.about-mark{font:400 51px/.9 var(--serif);color:var(--red)}.about-strip p{font:400 25px/1.12 var(--serif);margin:0}.about-strip p em{color:var(--red)}.about-small{margin-left:auto;color:var(--muted);font-size:9px;letter-spacing:.12em}
.detail-panel{position:fixed;z-index:6;right:0;top:0;bottom:0;width:min(500px,100%);background:var(--paper);box-shadow:-15px 0 55px #17281d29;overflow:auto;overscroll-behavior:contain;animation:panel-in .34s cubic-bezier(.16,1,.3,1)}.detail-panel[hidden],.panel-scrim[hidden]{display:none}.panel-scrim{display:none}.panel-close{position:absolute;z-index:2;right:20px;top:20px;width:42px;height:42px;border:1px solid #fff;background:var(--paper);display:grid;place-items:center;cursor:pointer}.panel-close svg{width:18px;height:18px;fill:none;stroke:var(--ink);stroke-width:1.5}.detail-image{height:260px;background:var(--paper-deep)}.detail-image img{width:100%;height:100%;object-fit:cover}.detail-content{padding:27px 42px 35px}.detail-content .overline{margin-bottom:11px}.detail-content h2{font:400 43px/1.04 var(--serif);letter-spacing:-.03em;margin:0 0 14px}.detail-body{font-size:14px;line-height:1.7;color:#555b51;max-width:39ch;margin:0 0 23px}.detail-facts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;gap:16px 10px}.fact small,.detail-instructor small{display:block;font-size:9px;letter-spacing:.12em;color:var(--muted);font-weight:700;margin-bottom:3px}.fact strong{font-size:13px;font-weight:600}.detail-instructor{display:flex;align-items:center;gap:12px;margin:19px 0 21px}.instructor-portrait{width:40px;height:40px;border-radius:50%;background:#d9c5a9;color:var(--green);display:grid;place-items:center;font:400 16px var(--serif)}.detail-instructor strong{font-size:13px;font-weight:600}.detail-instructor small{margin-bottom:0}.save-button{height:49px;padding:0 18px;width:100%;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--green);color:#fff8ed;border:0;cursor:pointer;font-size:13px;font-weight:600;transition:background .18s}.save-button:hover{background:var(--green-dark)}.save-button[aria-pressed=true]{background:#e7e1d6;color:var(--green)}.detail-footnote{text-align:center;color:var(--muted);font-size:11px;margin:14px 0 0}@keyframes appear{from{opacity:.35;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes panel-in{from{transform:translateX(28px);opacity:.8}to{transform:translateX(0);opacity:1}}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:760px){.topbar{height:65px;padding:0 20px}.wordmark{font-size:31px}.topnav{margin-left:32px;gap:20px;font-size:12px}.topnav a:nth-child(2){display:none}.top-note{font-size:0}.live-dot{width:8px;height:8px}.intro{padding:31px 20px 30px;min-height:0;grid-template-columns:1fr;gap:22px}.intro-copy{padding:0 3px}.intro h1{font-size:61px}.intro-deck{font-size:14px;max-width:300px;margin:14px 0}.intro-art{height:210px;margin-right:12px}.intro-index{position:absolute;right:20px;top:35px;font-size:8px}.intro-index i{height:23px}.sun-stamp{width:61px;height:61px;font-size:8px;right:-13px;top:-13px}.art-caption{font-size:9px;left:13px;right:13px;bottom:12px}.catalog{padding:31px 20px 37px}.catalog-heading{align-items:start;gap:14px}.catalog h2{font-size:31px;max-width:330px}.catalog-note{display:none}.controls{margin:20px auto 14px;gap:8px;flex-wrap:wrap}.search-wrap{order:0;flex:1 0 100%;max-width:none}.select-wrap{flex:1}.select-wrap select{width:100%;min-width:0}.saved-toggle{margin:0;padding:0 12px}.results-line{font-size:10px}.workshop-grid{grid-template-columns:1fr;gap:12px}.workshop-card{display:grid;grid-template-columns:132px 1fr;min-height:141px}.card-image{height:100%;min-height:141px}.card-date{top:9px;left:9px;min-width:43px;padding:5px 7px;font-size:15px}.card-content{padding:14px 13px;align-content:center}.card-title{font-size:22px}.card-price{font-size:19px}.card-meta{font-size:10px;flex-wrap:wrap}.card-category{font-size:8px}.about-strip{padding:22px 20px;gap:15px;min-height:122px}.about-mark{font-size:41px}.about-strip p{font-size:21px}.about-small{max-width:83px;line-height:1.6;text-align:right;font-size:8px}.detail-panel{width:100%;box-shadow:none}.detail-image{height:235px}.detail-content{padding:24px 25px 32px}.detail-content h2{font-size:39px}.panel-close{top:13px;right:13px}}
@media(max-width:370px){.topnav{margin-left:25px}.intro h1{font-size:55px}.card-image{min-width:112px}.workshop-card{grid-template-columns:112px 1fr}.card-content{padding-left:11px;padding-right:10px}.card-title{font-size:19px}.card-price{font-size:17px}.catalog h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
