@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#193c35;--green:#235246;--lime:#d8ef89;--paper:#f8f8f2;--muted:#67736b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:15px 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b5c764;outline-offset:5px}header{height:100px;display:flex;align-items:center;justify-content:space-between;max-width:1440px;margin:auto;padding:0 5%}.brand{font:800 20px 'Manrope',sans-serif;display:flex;align-items:center;gap:4px;letter-spacing:-.8px}.light{font-weight:400}.mark{background:var(--ink);color:var(--lime);border-radius:50%;height:35px;width:35px;display:grid;place-items:center;margin-right:8px;font-size:29px;position:relative}.mark span{position:absolute;font-size:17px;right:3px;top:0}nav{display:flex;gap:30px;font-size:13px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;background:var(--green);color:white;border:0;padding:19px 25px;border-radius:5px;font-weight:600;font-size:14px}.button:hover{background:#326a59}.button.small{padding:13px 18px}.button span{font-size:20px}.hero{padding:35px 5% 65px;max-width:1440px;margin:auto;display:grid;grid-template-columns:1.1fr 1fr;gap:35px;align-items:center}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.7px;display:flex;gap:9px;align-items:center}.dot{width:7px;height:7px;background:#62854d;border-radius:50%}h1{font:500 clamp(42px,4.5vw,67px)/1.09 'Manrope',sans-serif;letter-spacing:-3px;margin:25px 0}em{font-family:Georgia,serif;font-weight:400}h1 em{color:#64826a}p{line-height:1.8;color:var(--muted)}.hero-copy>p{max-width:420px;font-size:16px}.actions{display:flex;align-items:center;gap:28px;margin-top:28px;flex-wrap:wrap}.text-link{font-size:13px;font-weight:600}.text-link:hover{text-decoration:underline}.hero-note{margin-top:34px;color:#788477;font-size:11px;display:flex;align-items:center;gap:15px}.hero-note>span{font-size:13px;border:1px solid #d3dacb;border-radius:4px;padding:6px;color:var(--green)}.hero-art{height:510px;background:#dce6d6;position:relative;overflow:hidden;border-radius:6px}.art-label{position:absolute;top:26px;left:27px;font-size:9px;line-height:2;letter-spacing:1.8px;z-index:3}.art-label b{font-size:11px;letter-spacing:1px}.sun{width:220px;height:220px;background:#eaf1b8;border-radius:50%;position:absolute;top:83px;right:39px}.skyline{position:absolute;left:0;right:0;bottom:120px;display:flex;align-items:flex-end;gap:7px;opacity:.7}.skyline i{width:65px;height:140px;background:repeating-linear-gradient(90deg,#8fae9d 0 5px,#a9bfb0 5px 9px);transform:skewY(-5deg)}.skyline i:nth-child(2n){height:190px}.skyline i:nth-child(3n){height:100px}.skyline i:nth-child(4){height:215px}.river{position:absolute;background:#a4c2ad;bottom:-80px;height:220px;width:140%;transform:rotate(-10deg);left:-30px;border-top:15px solid #c5d1b5}.tower{position:absolute;left:51%;bottom:100px;width:80px;height:335px;transform:rotate(2deg)}.spire{position:absolute;height:74px;width:3px;background:#486f5d;top:-25px;left:40px}.tower-body{height:300px;position:absolute;top:35px;width:80px;clip-path:polygon(30% 0,70% 0,61% 27%,57% 47%,65% 68%,100% 100%,0 100%,35% 68%,43% 47%,39% 27%);background:repeating-linear-gradient(76deg,transparent 0 5px,#486f5d 6px 8px),repeating-linear-gradient(-76deg,#d5e0c8 0 5px,#6a8d74 6px 8px);border-bottom:7px solid #41664e}.bridge-line{position:absolute;width:120%;height:9px;background:#648d72;bottom:97px;left:-20px;transform:rotate(-8deg);box-shadow:0 7px 0 #b8cbb6}.art-bottom{position:absolute;bottom:22px;left:25px;right:25px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px}.speech{position:absolute;z-index:5;background:#fffdf3;border-radius:10px;box-shadow:0 10px 30px #19452a12}.nihao{left:29px;top:175px;padding:18px 23px;font-size:30px;transform:rotate(-7deg)}.nihao small{display:block;font-size:10px;margin-top:5px}.deal{right:22px;bottom:87px;padding:20px;font-size:16px;transform:rotate(4deg)}.deal span{display:block;font-size:12px;color:#8e9a80;margin-top:9px}.edition-bar{background:var(--green);color:white;padding:28px 5%;display:flex;justify-content:space-between;align-items:center;gap:20px}.edition-bar strong{display:block;font:500 18px 'Manrope';margin-top:7px}.micro{font-size:9px;letter-spacing:1.4px}.edition-bar .micro{color:#bdd0b9}.edition-bar a{color:var(--lime);font-size:12px}.section{padding:85px 5%;max-width:1440px;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:35px}h2{font:500 39px/1.2 'Manrope',sans-serif;letter-spacing:-1.6px;margin:18px 0 0}.section-heading>p,.section-heading>div>p{font-size:14px}.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #d9ded1;border-bottom:1px solid #d9ded1}.services article{padding:30px 30px 32px 0;position:relative}.services article+article{border-left:1px solid #d9ded1;padding-left:30px}.service-icon{font-size:30px}.number{position:absolute;right:30px;top:38px;color:#94a38b;font-size:11px}h3{font-size:19px;font-weight:500}.services p{font-size:14px;min-height:76px}.services a{font-size:12px;font-weight:700}.fine{font-size:11px;line-height:1.7;margin-top:20px}.fine a{text-decoration:underline}.fair{background:#eef0e6;max-width:none}.phases{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.phase{text-align:left;background:transparent;color:var(--ink);border:1px solid #cbd2c0;border-radius:5px;padding:25px;position:relative;min-height:192px}.phase>span:first-child{font-size:10px;letter-spacing:1.2px;display:flex;justify-content:space-between}.phase strong{display:block;font:500 34px 'Manrope';letter-spacing:-1px;margin:25px 0 12px}.phase small{font-size:16px}.phase b{font-size:13px;font-weight:400}.phase.active{background:var(--green);color:#fff;border-color:var(--green)}.phase.active strong{color:var(--lime)}.phase-status{font-size:8px;letter-spacing:.4px;opacity:.75}.phase-arrow{position:absolute;right:23px;bottom:24px}.phase-detail{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 0;border-bottom:1px solid #d4dacb}.phase-detail p{margin:7px 0 0;font-size:13px}.outline{background:transparent;border:1px solid #adbaa8;color:var(--ink);padding:12px 16px;border-radius:4px;font-size:12px;white-space:nowrap}.visit{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.venue-art{min-height:370px;background:#e9eddf;position:relative;overflow:hidden;border-radius:5px}.map-grid{position:absolute;inset:-100px;background:repeating-linear-gradient(0deg,transparent 0 51px,#fff9 52px 60px),repeating-linear-gradient(90deg,transparent 0 65px,#fff9 66px 73px);transform:rotate(-25deg)}.map-river{position:absolute;width:160%;height:100px;background:#b7cdbc;transform:rotate(-32deg);top:90px;left:-80px;border:7px solid #d5dfc8}.map-road{position:absolute;width:160%;height:15px;background:#d2d1ad;transform:rotate(35deg);top:215px;left:-80px;border:3px solid #f3f2d9}.pin{position:absolute;left:54%;top:37%;background:var(--green);color:var(--lime);width:44px;height:44px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:grid;place-items:center;font-size:25px}.map-label{position:absolute;top:55%;left:30%;background:var(--paper);padding:14px 20px;box-shadow:0 3px 20px #34562d12;font-size:11px;line-height:1.7}.map-label small{color:#81917d}.map-caption{position:absolute;bottom:15px;left:20px;font-size:8px;letter-spacing:1px}.visit h3{font-size:16px;margin-top:27px}.visit p{font-size:14px}.address{font-size:12px;border-top:1px solid #dce1d4;border-bottom:1px solid #dce1d4;padding:14px 0;line-height:1.7;position:relative}.address button{position:absolute;right:0;top:24px;border:0;background:none;color:var(--green);font-size:11px}.request{background:var(--green);max-width:none;color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:70px}.request .eyebrow{color:#c2d7af}.request h2{font-size:44px}.request h2 em{color:var(--lime)}.request p{color:#bfcebd;font-size:14px}.contact{display:flex;flex-direction:column;gap:9px;margin-top:30px;font-size:12px;color:#d7e2ce}.contact .micro{color:var(--lime);margin-bottom:5px}form{background:#f7f7ef;border-radius:7px;padding:30px;color:var(--ink)}label{display:block;font-size:11px;font-weight:600;margin-bottom:20px}input,select,textarea{display:block;width:100%;margin-top:8px;padding:12px;background:#fff;border:1px solid #d9ded0;border-radius:4px;font-size:12px;color:var(--ink)}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}form .button{width:100%}form p.fine{color:#798373;font-size:10px}#form-status{color:var(--green);font-size:12px}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px}details{border-bottom:1px solid #d7ddcf;padding:20px 0}summary{cursor:pointer;list-style:none;font-size:14px;display:flex;justify-content:space-between}summary:after{content:'+'}details[open] summary:after{content:'−'}details p{font-size:13px}details a{text-decoration:underline}footer{margin:0 5%;padding:32px 0;border-top:1px solid #d7ddcf;display:flex;justify-content:space-between;align-items:center;gap:20px}footer .brand{font-size:16px}footer p,footer>span{font-size:10px;line-height:1.8;color:#82907b}@media(min-width:1440px){.fair,.request,.edition-bar{padding-left:calc((100vw - 1296px)/2);padding-right:calc((100vw - 1296px)/2)}}@media(max-width:900px){nav{gap:15px}h1{font-size:45px}.hero-art{height:450px}.section{padding:60px 5%}.visit,.request{gap:30px}.edition-bar strong{font-size:14px}.phase strong{font-size:26px}.section-heading{gap:20px}.hero{gap:20px}h2{font-size:33px}}@media(max-width:650px){header{height:80px}.brand{font-size:15px}.mark{width:28px;height:28px}nav{display:none}.button.small{font-size:11px;padding:10px;gap:10px}.hero{grid-template-columns:1fr;padding-top:25px}.hero h1{font-size:46px;letter-spacing:-2px}.hero-art{height:390px;margin-top:16px}.hero-copy>p{font-size:14px}.hero-note{margin-top:25px}.edition-bar{display:grid;grid-template-columns:1fr 1fr;padding:25px 5%;gap:25px}.edition-bar strong{font-size:13px}.edition-bar a{font-size:11px}.section-heading{display:block}.section-heading>p{margin-top:20px}.services,.phases{grid-template-columns:1fr}.services article+article{border-left:0;border-top:1px solid #d9ded1;padding-left:0}.services p{min-height:0}.phase{min-height:165px}.phase strong{margin-top:18px}.phase-detail{align-items:flex-start;flex-direction:column}.visit,.request,.faq{grid-template-columns:1fr;gap:35px}.venue-art{min-height:300px}.request h2{font-size:36px}.form-row{grid-template-columns:1fr;gap:0}form{padding:22px}.faq{gap:15px}footer{align-items:flex-start;flex-direction:column}.section{padding-top:55px;padding-bottom:55px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.hero-art{height:410px}.hero{padding-bottom:45px}h1{font-size:clamp(42px,4.4vw,64px)}.section{padding-top:60px;padding-bottom:60px}.compact-fair{display:grid;grid-template-columns:1fr 1fr;gap:50px;background:#eef0e6}.compact-fair h2{font-size:30px}.dates>div{display:flex;gap:22px;padding:15px 0;border-bottom:1px solid #cdd7c5}.dates b{min-width:115px;font-size:14px}.dates span{font-size:13px}.guide-tabs{display:flex;gap:8px;margin-bottom:25px}.guide-tabs button{border:1px solid #c7d1bf;background:none;color:var(--ink);padding:10px 18px;border-radius:25px;font-size:12px}.guide-tabs button.selected{background:var(--green);color:white;border-color:var(--green)}.guide-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.guide-grid article{padding:24px;background:#eff1e8;border-radius:5px}.guide-grid article[hidden]{display:none}.place-symbol{font-size:35px;color:#70896b;margin-bottom:22px}.guide-grid .micro{font-size:8px}.guide-grid h3{font-size:18px}.guide-grid p{font-size:13px}.guide-grid a{font-size:11px;font-weight:700}.request h2{font-size:39px}@media(max-width:900px){.guide-grid{grid-template-columns:1fr 1fr}.dates>div{flex-direction:column;gap:7px}}@media(max-width:650px){.compact-fair{grid-template-columns:1fr;gap:20px}.guide-grid{grid-template-columns:1fr}.hero-art{height:340px}.hero h1{font-size:43px}.guide-tabs button{padding:9px 14px}.request h2{font-size:35px}}
