:root{--paper:#f5f2e9;--ink:#25352d;--muted:#526057;--line:#c7cfc1;--pale:#dce6d9;--orange:#f48561;--blue:#bdd7db;--white:#fffdf8;--focus:#b94220}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}img{display:block;max-width:100%}::selection{background:var(--orange);color:var(--white)}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}html{scrollbar-color:var(--ink) var(--paper)}.skip-link{position:absolute;z-index:100;top:-60px;left:16px;background:var(--ink);color:white;padding:12px 18px}.skip-link:focus{top:12px}
.site-header{height:84px;padding:0 clamp(22px,4.2vw,70px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ink)}.wordmark,.footer-mark{font-family:Georgia,'Times New Roman',serif;font-size:43px;letter-spacing:-.075em;font-weight:700;line-height:1;text-decoration:none}.wordmark span,.footer-mark span{color:var(--orange)}.nav-link{font-size:13px;text-transform:uppercase;letter-spacing:.11em;font-weight:700;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:7px}.nav-link span{font-size:17px;margin-left:16px}.nav-link:hover,.site-footer a:hover{color:var(--focus)}
.hero{min-height:510px;display:grid;grid-template-columns:54% 46%;border-bottom:1px solid var(--ink)}.hero-copy{min-width:0;display:flex;flex-direction:column;justify-content:space-between;padding:54px clamp(26px,4.2vw,70px) 25px}.hero-copy-inner{max-width:680px}.hero h1,.section-heading h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.055em;line-height:.99;margin:0}.hero h1{font-size:clamp(70px,8vw,115px)}.hero h1 em,.section-heading h2 em{font-weight:400}.hero-copy p{max-width:480px;font-size:17px;line-height:1.65;margin:27px 0 29px}.hero-link{display:inline-flex;gap:33px;align-items:center;justify-content:space-between;background:var(--ink);color:var(--white);text-decoration:none;padding:18px 21px 18px 24px;min-width:210px;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.07em;transition:background .2s ease,transform .2s ease}.hero-link:hover{background:#3f5747;transform:translateY(-2px)}.hero-link span{font-size:18px}.hero-bottom{display:flex;justify-content:space-between;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;margin-top:35px}.hero-visual{min-width:0;position:relative;overflow:hidden;background:var(--blue)}.hero-visual img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 51%}.hero-seal{position:absolute;right:27px;bottom:27px;width:138px;height:138px;background:var(--orange);color:var(--ink);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:9px;transform:rotate(10deg)}.hero-seal span{font-family:Georgia,'Times New Roman',serif;font-size:18px;line-height:1.05;font-style:italic}.hero-seal svg{width:30px;height:30px}
.collection{max-width:1600px;margin:0 auto;padding:90px clamp(22px,4.2vw,70px) 110px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:49px}.section-heading h2{font-size:clamp(52px,6vw,82px)}.section-heading p{font-size:16px;line-height:1.5;color:var(--muted);margin:20px 0 0}.heading-mark{width:82px;height:82px;color:var(--orange);margin-right:18px}.catalog-controls{display:flex;align-items:end;gap:18px;padding:23px 0 26px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.field{display:flex;flex-direction:column;gap:9px}.field label{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:700}.search-field{flex:1;min-width:0}.category-field{width:255px}.input-wrap,.select-wrap{position:relative}.input-wrap svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:19px;height:19px;pointer-events:none}.input-wrap input,.select-wrap select{width:100%;height:51px;border:1px solid var(--line);border-radius:0;background:var(--white);color:var(--ink);padding:0 16px;outline-offset:3px}.input-wrap input{padding-left:48px}.input-wrap input::placeholder{color:#63746b;opacity:1}.input-wrap input:focus,.select-wrap select:focus{border-color:var(--ink)}.select-wrap select{appearance:none;padding-right:43px}.select-wrap svg{position:absolute;right:15px;top:50%;transform:translateY(-50%);width:18px;height:18px;pointer-events:none}.saved-toggle{height:51px;min-width:147px;background:transparent;border:1px solid var(--ink);color:var(--ink);padding:0 17px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;transition:background .2s ease,color .2s ease}.saved-toggle svg{width:19px;height:19px}.saved-toggle:hover,.saved-toggle[aria-pressed="true"]{background:var(--ink);color:var(--white)}.saved-toggle[aria-pressed="true"] svg{fill:var(--orange)}.result-line{display:flex;justify-content:space-between;align-items:center;margin:22px 0 25px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:700}.result-line p{margin:0}.result-line span{color:var(--muted)}
.workshop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 24px}.workshop-card{min-width:0}.card-image{position:relative;overflow:hidden;background:var(--pale);aspect-ratio:1.42}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.19,1,.22,1)}.workshop-card:hover .card-image img{transform:scale(1.045)}.card-badge{position:absolute;top:15px;left:15px;background:var(--paper);padding:8px 10px;font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.card-saved{position:absolute;top:15px;right:15px;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--orange)}.card-saved svg{width:17px;height:17px;fill:var(--ink)}.card-meta{display:flex;justify-content:space-between;gap:10px;font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:700;color:var(--muted);margin:19px 0 10px}.workshop-card h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(28px,2.5vw,37px);line-height:1.08;letter-spacing:-.04em;margin:0 0 10px}.card-summary{color:var(--muted);font-size:14px;line-height:1.55;min-height:44px;margin:0 0 18px;max-width:50ch}.card-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px}.card-price{font-family:Georgia,'Times New Roman',serif;font-size:25px}.card-open{border:0;background:transparent;color:var(--ink);padding:7px 0 7px 12px;display:inline-flex;align-items:center;gap:15px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.card-open span{font-size:20px;line-height:0}.card-open:hover{text-decoration:underline;text-underline-offset:5px}.empty-state,.load-error{text-align:center;padding:65px 20px 75px;border-bottom:1px solid var(--line)}.empty-state[hidden],.load-error[hidden]{display:none}.empty-state svg{width:55px;height:55px;color:var(--orange)}.empty-state h3,.load-error h3{font-family:Georgia,serif;font-weight:400;font-size:42px;letter-spacing:-.04em;margin:16px 0 7px}.empty-state p,.load-error p{color:var(--muted);line-height:1.5}.empty-state button,.load-error button{background:var(--ink);border:1px solid var(--ink);color:white;padding:14px 20px;margin-top:16px;font-weight:700}.empty-state button:hover,.load-error button:hover{background:#3f5747}.empty-state button span{margin-left:15px}
.site-footer{background:var(--ink);color:var(--white);min-height:165px;padding:42px clamp(22px,4.2vw,70px);display:flex;align-items:end;justify-content:space-between;gap:20px}.footer-mark{font-size:57px}.site-footer p{font-family:Georgia,serif;font-style:italic;font-size:21px;margin:0 0 5px}.site-footer a{text-transform:uppercase;font-size:11px;letter-spacing:.1em;font-weight:700;text-underline-offset:5px;margin-bottom:8px}.site-footer a:hover{color:var(--orange)}
.detail-dialog{width:min(1050px,calc(100vw - 44px));max-width:none;max-height:min(820px,calc(100vh - 44px));padding:0;border:0;background:var(--paper);color:var(--ink);box-shadow:0 22px 70px rgba(23,37,29,.25);overflow:auto}.detail-dialog::backdrop{background:rgba(24,38,30,.68)}.detail-layout{display:grid;grid-template-columns:43% 57%;min-height:620px}.detail-visual{position:relative;background:var(--pale);min-height:620px}.detail-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.detail-panel{position:relative;padding:54px 54px 45px;display:flex;flex-direction:column}.detail-close{position:absolute;top:22px;right:22px;width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--ink);border-radius:50%;background:var(--paper);color:var(--ink)}.detail-close svg{width:19px;height:19px}.detail-close:hover{background:var(--ink);color:var(--paper)}.detail-category{font-size:11px;text-transform:uppercase;letter-spacing:.15em;font-weight:700;color:var(--muted);margin:4px 0 21px}.detail-panel h2{font-family:Georgia,serif;font-size:clamp(49px,5vw,70px);font-weight:400;letter-spacing:-.055em;line-height:.98;margin:0 0 23px;max-width:520px}.detail-body{font-size:16px;line-height:1.65;max-width:53ch;margin:0 0 30px}.detail-facts{display:grid;grid-template-columns:1fr 1fr;gap:21px 18px;border-top:1px solid var(--ink);padding-top:21px;margin:0}.detail-facts div{min-width:0}.detail-facts dt{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:6px}.detail-facts dd{margin:0;font-size:15px;font-weight:700;line-height:1.35;font-variant-numeric:tabular-nums}.detail-actions{margin-top:auto;padding-top:29px;display:flex;align-items:center;justify-content:space-between;gap:18px}.detail-price{font-family:Georgia,serif;font-size:38px;letter-spacing:-.04em;white-space:nowrap}.detail-price small{font-family:Arial,Helvetica,sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-left:5px}.save-item{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--orange);color:var(--ink);border:1px solid var(--ink);padding:17px 20px;min-height:54px;font-size:12px;letter-spacing:.07em;text-transform:uppercase;font-weight:700;white-space:nowrap}.save-item:hover{background:#fa8868}.save-item[aria-pressed="true"]{background:var(--ink);color:var(--white)}.save-item svg{width:18px;height:18px}.save-item[aria-pressed="true"] svg{fill:var(--orange)}
@media(max-width:1000px){.hero{grid-template-columns:53% 47%}.hero h1{font-size:clamp(63px,8vw,88px)}.hero-copy p{font-size:15px}.workshop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-panel{padding:50px 34px 32px}}
@media(max-width:680px){.site-header{height:64px;padding:0 21px}.wordmark{font-size:36px}.nav-link{font-size:10px;padding-bottom:4px}.nav-link span{margin-left:5px;font-size:14px}.hero{display:block}.hero-copy{padding:25px 22px 23px}.hero h1{font-size:clamp(56px,14vw,78px)}.hero-copy p{font-size:14px;line-height:1.5;margin:12px 0 15px;max-width:35ch}.hero-link{min-width:0;padding:14px 16px;font-size:11px}.hero-bottom{display:none}.hero-visual{height:160px}.hero-visual img{object-position:center 55%}.hero-seal{width:77px;height:77px;right:14px;bottom:14px;gap:2px}.hero-seal span{font-size:11px}.hero-seal svg{width:17px;height:17px}.collection{padding:32px 21px 78px}.section-heading{margin-bottom:22px}.section-heading h2{font-size:clamp(43px,10vw,60px)}.section-heading p{font-size:13px;margin-top:9px;max-width:29ch}.heading-mark{width:42px;height:42px;margin-right:0;align-self:start}.catalog-controls{display:grid;grid-template-columns:1fr 1fr;gap:13px 11px;padding:16px 0}.search-field{grid-column:1/-1}.category-field{width:auto}.field label{font-size:10px}.saved-toggle{min-width:0;width:100%;font-size:11px}.input-wrap input,.select-wrap select,.saved-toggle{height:48px}.result-line{font-size:10px;margin:16px 0}.result-line span{display:none}.workshop-grid{grid-template-columns:1fr;gap:42px}.card-image{aspect-ratio:1.45}.card-meta{margin-top:16px}.workshop-card h3{font-size:34px}.card-summary{min-height:0}.site-footer{padding:32px 21px;min-height:175px;display:grid;grid-template-columns:1fr auto;align-items:end}.footer-mark{font-size:48px}.site-footer p{grid-column:1;font-size:17px}.site-footer a{grid-column:2;grid-row:2;font-size:9px}.detail-dialog{width:100vw;max-height:100dvh;height:100dvh;margin:0}.detail-layout{display:block}.detail-visual{height:240px;min-height:0}.detail-panel{padding:30px 23px 34px;min-height:calc(100dvh - 240px)}.detail-close{top:-219px;right:17px;background:var(--paper)}.detail-category{margin:0 0 15px}.detail-panel h2{font-size:55px;margin-bottom:19px}.detail-body{font-size:15px;margin-bottom:24px}.detail-facts{gap:17px 12px}.detail-facts dd{font-size:13px}.detail-actions{padding-top:26px}.detail-price{font-size:33px}.detail-price small{font-size:9px}.save-item{padding:13px 11px;min-height:50px;font-size:10px}}
@media(max-width:370px){.detail-panel h2{font-size:48px}.detail-price{font-size:28px}.save-item{font-size:9px}.heading-mark{display:none}}
@media(max-width:680px){.hero-link,.section-heading p{display:none}.field label{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
