
@import url('https://fonts.googleapis.com/css2?family=Libre+Franklin:wght@400;600;700&family=Playfair+Display:wght@500;600&display=swap');
:root{--bg:#fbf5ea;--paper:#fffaf2;--ink:#2d1a0e;--muted:#6f6257;--red:#b42318;--green:#5f744b;--line:#dfc9ad;--shadow:0 10px 25px rgba(70,45,25,.08)}
.brand-name,.brand-details{display:block}.hero .brand{font-size:28px}.brand-details{margin-top:6px;color:var(--muted);font:600 16px/1.3 "Libre Franklin",sans-serif}
.form-grid label[hidden]{display:none}
.tag.primary{max-width:100%;border-radius:4px;background:#dfe6d8;color:var(--green);line-height:1.25;white-space:normal}
@media(max-width:620px){.hero .brand{font-size:20px}}
@media(max-width:620px){.hero .weave,.desktop-only-copy{display:none}.hero-inner{width:100%;max-width:100%;min-width:0}}
@media(max-width:620px){#days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;overflow:visible}#days .chip{width:100%;min-width:0;padding:10px 4px;font-size:0}#days .chip:after{content:attr(data-short-label);font-size:14px}.section .filters:nth-of-type(2){grid-template-columns:repeat(2,minmax(0,1fr))}.section .filters:nth-of-type(2) select,.section .filters:nth-of-type(2) input{width:100%;min-width:0}}
.hero .actions{margin-bottom:28px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Libre Franklin",sans-serif}h1,h2,h3,.brand{font-family:"Playfair Display",serif}.hero{min-height:680px;display:flex;align-items:center;justify-content:center;text-align:center;padding:40px 24px 70px;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 10%,#fff 0,transparent 35%),linear-gradient(#fff9ef,var(--bg))}.hero-inner{max-width:850px;z-index:2}.brand{font-size:24px;color:var(--green);font-weight:600;margin-bottom:22px}.rule{width:190px;height:1px;background:var(--green);margin:0 auto 28px;position:relative}.rule:after{content:"";width:7px;height:7px;border-radius:50%;background:var(--green);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.weave-link{display:none}h1{font-size:clamp(46px,5.5vw,72px);line-height:.95;letter-spacing:-2px;margin:0 0 18px}.kicker{font:500 clamp(23px,2.6vw,31px)/1.2 "Playfair Display",serif;color:var(--green);margin-bottom:24px}.hero p{font-size:18px;line-height:1.55;max-width:760px;margin:0 auto 16px}.hero .hero-emphasis{font-size:20px;font-weight:700;color:var(--green)}.actions{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;justify-content:center;align-items:center;border:1px solid var(--red);border-radius:6px;padding:14px 24px;color:var(--red);background:transparent;text-decoration:none;font-weight:700;cursor:pointer}.btn.primary{background:var(--red);color:#fff}.weave{position:absolute;pointer-events:none}.weave i{position:absolute;display:block;border-radius:46px}.left{left:-100px;top:-20px;width:380px;height:560px}.left i:nth-child(1){left:120px;top:-80px;width:58px;height:640px;background:#6b3215}.left i:nth-child(2){left:210px;top:-50px;width:58px;height:590px;background:#b97839}.left i:nth-child(3){left:-20px;top:190px;width:350px;height:58px;background:#f2dfc1}.left i:nth-child(4){left:-35px;top:315px;width:340px;height:58px;background:#536143}.left i:nth-child(5){left:-40px;top:440px;width:350px;height:60px;background:#373a38}.right{right:-120px;top:0;width:330px;height:420px}.right i:nth-child(1){right:80px;top:-75px;width:60px;height:490px;background:#6d3f19}.right i:nth-child(2){right:-20px;top:120px;width:320px;height:58px;background:#efddbf}.right i:nth-child(3){right:-45px;top:245px;width:305px;height:58px;background:#393b39}
.stats{max-width:1000px;margin:-42px auto 0;position:relative;z-index:4;display:grid;grid-template-columns:repeat(3,1fr);background:rgba(255,250,242,.97);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:22px 14px}.stats>div{display:flex;flex-direction:column;align-items:center;padding:8px 20px}.stats>div+div{border-left:1px solid var(--line)}.stats strong{font:500 30px/1.1 "Playfair Display",serif}.stats span{font-size:14px;color:var(--muted);margin-top:3px}.section{max-width:1160px;margin:auto;padding:60px 22px}.section h2{text-align:center;font-size:42px;margin:0 0 8px}.sub{text-align:center;color:var(--muted);margin:0 0 28px}.filters{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:14px}.chip,select,input,textarea{border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:10px 13px;color:var(--ink)}.chip{cursor:pointer}.chip.active{background:var(--green);border-color:var(--green);color:white}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:26px}.card{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:15px;min-height:285px;display:flex;flex-direction:column;cursor:pointer}.meta{color:var(--red);font-size:11px;text-transform:uppercase;font-weight:700;letter-spacing:.04em}.card h3{font-size:22px;line-height:1.05;margin:9px 0}.tags{display:flex;gap:5px;flex-wrap:wrap}.tag{font-size:11px;padding:3px 7px;background:#efe8dc;border-radius:999px}.person{display:flex;gap:10px;align-items:center;margin-top:14px}.avatar{width:42px;height:42px;border-radius:50%;background:var(--green);color:white;display:flex;align-items:center;justify-content:center;font-weight:700}.person b{display:block;color:var(--red);font-size:14px}.person small{display:block;line-height:1.3}.loc{margin-top:auto;padding-top:14px;color:var(--muted);font-size:12px}.foot{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:10px;padding-top:10px;color:var(--red);font-size:12px;font-weight:700}.empty{text-align:center;color:var(--muted)}.submit{max-width:1160px;margin:0 auto 58px;padding:28px 22px;display:grid;grid-template-columns:300px 1fr;gap:30px;border:1px solid var(--line);border-radius:14px;background:#fff8ee;box-shadow:var(--shadow)}.submit h2{font-size:38px;margin:0 0 12px}.submit-info p{color:var(--muted);line-height:1.45}.submit-info b{color:var(--ink)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700}.full{grid-column:1/-1}textarea{min-height:90px;resize:vertical}.note{font-size:12px;color:var(--muted)}footer{text-align:center;color:var(--muted);padding:0 22px 44px;font-size:13px}footer a{color:var(--red);font-weight:700}.modal{position:fixed;inset:0;background:rgba(40,25,15,.45);display:none;align-items:center;justify-content:center;padding:20px;z-index:50}.modal.open{display:flex}.modal-card{width:min(590px,100%);background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:28px;position:relative}.modal-card h3{font-size:32px}.modal-card button{position:absolute;right:16px;top:10px;border:0;background:none;font-size:30px;cursor:pointer}.toast{position:fixed;right:20px;bottom:20px;background:var(--green);color:white;padding:14px 18px;border-radius:8px;display:none;z-index:60}.toast.show{display:block}
@media(max-width:900px){.right{display:none}.left{left:-175px}.stats{grid-template-columns:1fr}.stats>div+div{border-left:0;border-top:1px solid var(--line)}.grid{grid-template-columns:repeat(2,1fr)}.submit{grid-template-columns:1fr}}
@media(max-width:620px){.hero{padding:40px 18px 58px}.brand{font-size:18px}.rule{width:144px;height:20px;margin-bottom:10px;background:transparent}.rule:after{display:none}.weave-link{display:block;position:absolute;top:1px;width:60px;height:18px;border:6px solid currentColor;border-radius:10px;transform:skewX(-22deg);box-shadow:0 0 0 2px var(--bg)}.weave-link-green{left:0;color:var(--green);z-index:1}.weave-link-rust{left:42px;color:var(--red);z-index:2}.weave-link-ochre{left:84px;color:#b97839;z-index:1}.hero h1{font-size:40px;letter-spacing:-1px}.kicker{font-size:20px}.hero p{font-size:16px;margin-bottom:13px}.hero .hero-emphasis{font-size:18px}.actions{flex-direction:column;margin-top:22px}.actions .btn{width:100%}.left{left:-235px;transform:scale(.87)}.stats{margin:-28px 15px 0}.section{padding:46px 15px}.section h2,.sub{text-align:left}.section h2{font-size:33px}.filters{justify-content:flex-start;overflow:auto;flex-wrap:nowrap}.filters:nth-of-type(2){display:grid;grid-template-columns:1fr 1fr;overflow:visible}.filters:nth-of-type(2) input{grid-column:1/-1;width:100%}.grid{grid-template-columns:1fr;gap:10px}.card{min-height:0}.submit{margin:0 15px 45px;padding:20px;display:block}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.submit .btn{width:100%}}
