body[data-theme=fair]{--bg:#e4dabd;--surface:#d8caaa;--text:#203e35;--muted:#536554;--accent:#2527d1;--border:#b5b693;background:var(--bg)}
body[data-theme=fair] #app{max-width:none;border:0}.fair-page{font-family:var(--dg-font);background:#e4dabd;color:#203e35;overflow:clip}
.fair-header{height:90px;padding:0 5%;display:flex;justify-content:space-between;align-items:center;gap:25px;border-bottom:1px solid #bcc1a0}.fair-brand{display:flex;gap:15px;align-items:center}.fair-brand img{width:127px;height:auto}.fair-brand>span{font-size:13px;color:#64715a}.fair-header nav{display:flex;gap:28px;align-items:center;font-size:13px}.fair-header nav button{font-size:13px;padding:0}.fair-header nav button:hover,.fair-header nav a:hover{color:#2527d1}
.fair-intro{padding:36px 5% 25px;display:flex;justify-content:space-between;gap:40px;align-items:end;position:relative;z-index:1}.fair-eyebrow{font:10px var(--mono);letter-spacing:.06em;color:#687254}.fair-intro h1{font-size:clamp(50px,5.4vw,81px);line-height:.99;font-weight:550;letter-spacing:-.055em;margin-top:19px;word-spacing:.04em}.fair-intro-note{padding:0 0 5px;flex-shrink:0}.fair-intro-note p{font-size:15px;line-height:1.6;color:#52654b}.fair-intro-note>button{display:flex;gap:30px;align-items:center;font-size:13px;margin-top:18px;border-bottom:1px solid #687855;padding:0 0 9px;color:#264732}.fair-intro-note>button>span{font-size:20px}
.fair-world{position:relative;background:#b9cf90;isolation:isolate}.fair-scene{height:clamp(530px,46vw,760px);position:relative;overflow:hidden;background:#b9cf90}#fair-canvas{display:block;width:100%;height:100%;touch-action:pan-y}.fair-markers{position:absolute;inset:0;pointer-events:none}.fair-markers button{position:absolute;top:0;left:0;display:flex;align-items:center;gap:7px;padding:7px 10px;white-space:nowrap;color:#2c4936;background:#f5eacdf5;border:1px solid #556b4755;box-shadow:2px 3px 0 #596c4326;pointer-events:auto;transition:background .2s,color .2s;will-change:transform}.fair-markers button>span{font:9px var(--mono);color:var(--place-color)}.fair-markers button>b{font-size:12px;font-weight:500}.fair-markers button>i{font-size:12px;font-style:normal;color:var(--place-color)}.fair-markers button:hover,.fair-markers button[aria-pressed=true]{background:var(--place-color);color:white}.fair-markers button:hover>span,.fair-markers button:hover>i,.fair-markers button[aria-pressed=true]>span,.fair-markers button[aria-pressed=true]>i{color:#fff}.fair-marker-out{visibility:hidden}.fair-signs-hidden .fair-markers{visibility:hidden}.fair-signs-hidden .fair-markers button{visibility:hidden}
.fair-scene-note{position:absolute;left:5%;right:5%;top:22px;display:flex;justify-content:space-between;align-items:center;pointer-events:none;color:#425c37;font:9px var(--mono);letter-spacing:.04em}.fair-scene-note>span{display:flex;gap:9px;align-items:center}.fair-scene-note>span i{width:5px;height:5px;border-radius:50%;background:#c55132}.fair-scene-note button{font-size:11px;pointer-events:auto;padding:5px 0;color:#36562f}.fair-scene-note button>span{margin-left:8px;font-size:15px}
.fair-scene-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:17px 5% 23px;background:#b9cf90;color:#3b5931}.fair-scene-bottom>div{display:flex;align-items:center;gap:18px}.fair-compass{font-size:42px;color:#526d3d}.fair-scene-bottom p{font-size:12px;line-height:1.5}.fair-scene-bottom p strong{font-weight:400;color:#5a7049}.fair-scene-bottom>span{font:9px/1.7 var(--mono);text-align:right;letter-spacing:.03em}.fair-scene-bottom>button{font-size:12px;padding:0;color:#264d2d}
.fair-place-card{position:absolute;left:5%;bottom:104px;width:350px;padding:28px;background:#f5e8c9;border:1px solid #58713f55;box-shadow:7px 8px 0 #48603122;color:#244232;z-index:4}.fair-place-card[hidden]{display:none}.fair-place-card>span{display:block;font:9px/1.5 var(--mono);letter-spacing:.04em;color:var(--place-color);padding-right:10px}.fair-place-card h2{font-size:33px;font-weight:550;letter-spacing:-1.2px;line-height:1.04;margin:20px 0}.fair-place-card p{font-size:13px;line-height:1.8;color:#526349}.fair-place-card #fair-close{position:absolute;right:12px;top:10px;font-size:23px;color:#697459;padding:0 5px}.fair-place-card>button:last-child{font-size:12px;color:var(--place-color);padding:0;margin-top:22px}.fair-mobile-map{display:none}.fair-fallback{position:absolute;inset:25%;font-size:25px;line-height:1.5}.fair-no-canvas .fair-markers{display:none}
.fair-directory{padding:85px 5%;background:#e4dabd}.fair-section-label{font:10px var(--mono);letter-spacing:.04em;color:#647053}.fair-directory-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin:30px 0 44px}.fair-directory-heading h2{font-size:clamp(35px,3.8vw,55px);font-weight:500;line-height:1.07;letter-spacing:-.04em}.fair-directory-heading p{font-size:14px;line-height:1.7;color:#5a684c}.fair-directory-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:65px}.fair-directory-grid>button{display:flex;align-items:center;text-align:left;gap:24px;padding:24px 0;border-top:1px solid #b5b798}.fair-directory-grid>button:nth-last-child(-n+2){border-bottom:1px solid #b5b798}.fair-directory-number{display:grid;place-items:center;font:11px var(--mono);width:34px;height:38px;background:var(--place-color);color:#fff;flex-shrink:0;transform:rotate(-5deg)}.fair-directory-grid>button>span:nth-child(2){min-width:0}.fair-directory-grid small{display:block;font:9px var(--mono);color:#6d765c;letter-spacing:.025em;margin-bottom:7px}.fair-directory-grid strong{font-size:22px;font-weight:500;letter-spacing:-.6px}.fair-directory-grid b{font-size:23px;font-weight:400;margin-left:auto;color:var(--place-color)}.fair-directory-grid>button:hover strong{color:var(--place-color)}
.fair-start{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;background:#284d41;color:#f2e6c5;padding:72px 7%;align-items:center}.fair-start>div>span{font:10px var(--mono);letter-spacing:.04em;color:#b9caa3}.fair-start h2{font-size:clamp(50px,5.2vw,79px);font-weight:500;line-height:.99;letter-spacing:-.05em;margin-top:25px}.fair-start h2 em{font-style:normal;color:#ecc77f}.fair-start>div>p{font-size:19px;line-height:1.6;color:#d4dabc}.fair-start .install{font-size:12px;margin:15px 0;color:#f2e6c5}.fair-start>div>button:not(.install){padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:35px;background:#f0c778;color:#264d3c;font-size:13px}.fair-start>div>button:not(.install)>span{font-size:21px}.fair-start small{display:block;margin-top:23px;font-size:11px;color:#b7c5a0}.fair-page footer{padding:27px 5%;color:#53664a;border-color:#b6bd9c;font-size:10px;background:#e4dabd}.fair-page footer button{color:#2527d1}
@media(min-width:1700px){.fair-scene{height:760px}}
@media(max-width:1050px){.fair-intro h1{font-size:58px}.fair-intro-note p{font-size:13px}.fair-intro-note>button{font-size:12px}.fair-scene{height:560px}.fair-directory-heading h2{font-size:43px}.fair-directory-grid{column-gap:35px}.fair-directory-grid strong{font-size:20px}}
@media(max-width:760px){.fair-header{height:74px;padding:0 6%}.fair-brand{gap:10px}.fair-brand img{width:104px}.fair-brand>span{font-size:11px}.fair-header nav{gap:15px}.fair-header nav button{font-size:11px}.fair-header nav button:first-child,.fair-header nav a{display:none}.fair-intro{padding:31px 6% 30px;display:block}.fair-eyebrow{font-size:8px}.fair-intro h1{font-size:49px;line-height:1;letter-spacing:-2.3px;margin-top:18px;max-width:460px}.fair-intro-note{margin-top:22px;display:flex;align-items:end;gap:24px;padding:0}.fair-intro-note p{font-size:12px;line-height:1.7}.fair-intro-note p br{display:none}.fair-intro-note>button{font-size:11px;margin:0;gap:10px;min-width:120px;line-height:1.4;padding-bottom:7px}.fair-intro-note>button>span{font-size:18px}.fair-scene{height:405px}.fair-scene-note{left:6%;right:6%;top:17px;font-size:7px;letter-spacing:0}.fair-scene-note button{font-size:9px}.fair-scene-note button>span{font-size:12px;margin-left:3px}.fair-markers button{gap:3px;padding:5px;font-size:8px}.fair-markers button>span{font-size:8px}.fair-markers button>b{font-size:9px}.fair-markers button>i{display:none}.fair-scene-bottom{padding:8px 6% 22px;gap:20px}.fair-compass{font-size:30px}.fair-scene-bottom>div{gap:12px}.fair-scene-bottom p{font-size:10px}.fair-scene-bottom>span{display:none}.fair-scene-bottom>button{font-size:10px}.fair-mobile-map{display:flex;gap:9px;overflow:auto;padding:15px 6%;background:#afc582;border-block:1px solid #8ca668;scrollbar-width:thin}.fair-mobile-map button{font-size:11px;white-space:nowrap;padding:8px 10px;background:#d9dfb3;color:#38572d;border:1px solid #95ad75}.fair-mobile-map button>span{font:9px var(--mono);margin-right:6px;color:#607747}.fair-mobile-map button[aria-pressed=true]{background:#284d41;color:#fff}.fair-mobile-map button[aria-pressed=true]>span{color:#c9d9b2}.fair-exploring .fair-scene{height:550px}.fair-place-card{left:6%;right:6%;bottom:80px;width:auto;padding:23px}.fair-place-card h2{font-size:29px;line-height:1.07;margin:17px 0}.fair-place-card p{font-size:12px;line-height:1.7}.fair-place-card>span{font-size:8px}.fair-place-card>button:last-child{font-size:11px;margin-top:18px}.fair-directory{padding:53px 6%}.fair-section-label{font-size:8px}.fair-directory-heading{display:block;margin:24px 0 30px}.fair-directory-heading h2{font-size:38px;letter-spacing:-1.5px}.fair-directory-heading p{font-size:13px;margin-top:21px}.fair-directory-grid{grid-template-columns:1fr;gap:0}.fair-directory-grid>button{padding:21px 0;gap:19px}.fair-directory-grid>button:nth-last-child(2){border-bottom:0}.fair-directory-grid strong{font-size:20px}.fair-directory-grid small{font-size:8px;line-height:1.5}.fair-directory-number{width:30px;height:34px;font-size:10px}.fair-start{grid-template-columns:1fr;padding:53px 6%;gap:37px}.fair-start>div>span{font-size:9px}.fair-start h2{font-size:54px;letter-spacing:-2.8px;margin-top:24px}.fair-start>div>p{font-size:16px}.fair-start .install{font-size:10px;margin:10px 0}.fair-start>div>button:not(.install){font-size:12px}.fair-start small{font-size:10px}.fair-page footer{font-size:9px;padding:24px 6%}.fair-page footer>span:nth-child(2){display:none}}
@media(max-width:365px){.fair-brand>span{display:none}.fair-intro h1{font-size:44px}.fair-intro-note{gap:18px}.fair-intro-note>button{min-width:110px}.fair-scene{height:370px}.fair-markers button>b{display:none}.fair-markers button{padding:5px 7px}.fair-directory-heading h2{font-size:33px}.fair-start h2{font-size:49px}}
