:root{--paper:#faf9f7;--ink:#171715;--muted:#77736d;--line:#dedbd5;--rose:#eee0df;--rose-deep:#a27072}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper);min-width:320px}body{color:var(--ink);background:var(--paper);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--rose-deep);outline-offset:4px}.js .intro-reveal{opacity:0;transform:translateY(16px)}.js.motion-ready .intro-reveal{opacity:1;transition:opacity .9s cubic-bezier(.22,1,.36,1) var(--intro-delay,0s),transform .9s cubic-bezier(.22,1,.36,1) var(--intro-delay,0s);transform:none}.js [data-reveal]{opacity:0;transition:opacity .8s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0s),transform .8s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0s);transform:translateY(24px)}.js [data-reveal].is-visible{opacity:1;transform:none}.site-header,main,footer{width:min(1200px,100%);margin-inline:auto}.breadcrumb{color:var(--muted);font:400 var(--type-1)/1.4 var(--font-label);letter-spacing:.1em;gap:10px;padding:18px 40px;display:flex}.breadcrumb strong{color:var(--ink);font-weight:500}.eyebrow{color:var(--rose-deep);font:500 var(--type-1)/1.5 var(--font-label);letter-spacing:var(--tracking-label);margin:0}.hero{border-bottom:1px solid var(--ink);grid-template-columns:.92fr 1.08fr;min-height:660px;display:grid}.hero-copy{flex-direction:column;align-items:flex-start;padding:86px 54px 50px 40px;display:flex}h1{font:500 var(--type-7)/var(--leading-tight) var(--font-display);letter-spacing:var(--tracking-hero);margin:34px 0 28px}.dek{color:#4e4947;font:400 var(--type-4)/var(--leading-body) var(--font-display);margin:0}.hero-action{margin-top:auto;padding-top:52px}.primary-button{color:#fff;background:var(--ink);border:1px solid var(--ink);font-size:var(--type-3);align-items:center;gap:42px;padding:16px 18px;transition:background .25s,color .25s;display:inline-flex}.primary-button:hover{color:var(--ink);background:0 0}.hero-action p{color:var(--muted);font-size:var(--type-2);line-height:var(--leading-compact);margin:11px 0 0}.hero-visual{background:var(--rose);min-width:0;margin:0;position:relative;overflow:hidden}.hero-visual>img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.hero-visual:after{content:"";pointer-events:none;background:linear-gradient(#0000 72%,#2318192e);position:absolute;inset:0}.hero-visual figcaption{z-index:1;color:#fff;font:400 var(--type-1)/1.4 var(--font-label);letter-spacing:var(--tracking-label);justify-content:space-between;display:flex;position:absolute;bottom:18px;left:24px;right:24px}.current,.regions{padding:110px 40px}.section-head{margin-bottom:54px}.section-head>div{justify-content:space-between;align-items:end;gap:30px;max-width:860px;margin-top:22px;display:flex}h2{font:500 var(--type-6)/var(--leading-title) var(--font-display);letter-spacing:var(--tracking-title);margin:0}.section-head>div>p{color:var(--muted);font-size:var(--type-2);margin:0 0 8px}.fair-list{border-top:1px solid var(--ink)}.fair-list>a{border-bottom:1px solid var(--line);grid-template-columns:70px 1.1fr .75fr 28px;align-items:center;gap:26px;min-height:132px;padding:25px 0;transition:color .2s,background .2s;display:grid}.fair-list>a:hover{color:var(--rose-deep);background:#f6f1ef}.fair-index{color:var(--rose-deep);font:400 var(--type-2)/1 var(--font-label)}.fair-list h3{font:500 var(--type-5)/var(--leading-title) var(--font-display);margin:7px 0 0}.fair-list p{font-size:var(--type-2);color:var(--muted);margin:0}.fair-info p{color:var(--ink);font:400 var(--type-4)/var(--leading-compact) var(--font-accent);letter-spacing:.04em}.fair-info span{color:var(--muted);font-size:var(--type-2);margin-top:8px;display:block}.empty-schedule{border-top:1px solid var(--ink);border-bottom:1px solid var(--line);padding:46px 0}.empty-schedule strong{font:500 var(--type-5)/var(--leading-compact) var(--font-display)}.empty-schedule p{color:var(--muted);font-size:var(--type-2);line-height:var(--leading-body);margin:10px 0 0}.arrow{justify-self:end}.current-note{color:var(--muted);font-size:var(--type-2);line-height:var(--leading-compact);margin:18px 0 0 96px}.regions{border-top:1px solid var(--ink)}.region-row{border-top:1px solid var(--line);grid-template-columns:.34fr 1fr;gap:70px;padding:30px 0 80px;display:grid}.region-name{color:var(--muted);font:400 var(--type-1)/1.5 var(--font-label);letter-spacing:.1em;gap:26px;display:flex}.region-name p{margin:0}.city-list{border-top:1px solid var(--ink)}.city-list a{border-bottom:1px solid var(--line);grid-template-columns:1fr auto 24px;align-items:center;gap:30px;min-height:110px;display:grid}.city-list a:hover strong{color:var(--rose-deep)}.city-list div{align-items:baseline;gap:20px;display:flex}.city-list strong{font:500 var(--type-5)/var(--leading-title) var(--font-display)}.city-list div span,.city-list p{color:var(--muted);font:400 var(--type-1)/1.5 var(--font-label);letter-spacing:.1em}.expansion-note{border-top:1px solid var(--ink);border-bottom:1px solid var(--line);grid-template-columns:140px 1fr;margin-left:calc(34% + 70px);padding:24px 0;display:grid}.expansion-note span{color:var(--rose-deep);font:500 var(--type-1)/1.5 var(--font-label);letter-spacing:.12em}.expansion-note p{color:var(--muted);font-size:var(--type-2);line-height:var(--leading-body);margin:0}.method{color:var(--ink);background:var(--paper);border-top:1px solid var(--ink);border-bottom:1px solid var(--line);padding:112px 40px 0}.method-head{max-width:860px;padding-bottom:58px}.method .eyebrow{color:var(--rose-deep)}.method-head h2{margin-top:22px}.principles{border-top:1px solid var(--ink);grid-template-columns:repeat(3,1fr);display:grid}.principles article{border-right:1px solid var(--line);min-height:285px;padding:28px 28px 48px 0}.principles article+article{padding-left:28px}.principles article:last-child{border-right:0}.principles span{color:var(--rose-deep);font:400 var(--type-2)/1 var(--font-label)}.principles h3{font:500 var(--type-5)/var(--leading-title) var(--font-display);margin:70px 0 18px}.principles p{color:#4e4947;max-width:290px;font-size:var(--type-3);font-weight:400;line-height:var(--leading-body);margin:0}.guide-note{background:var(--paper);border-top:1px solid var(--line);padding:112px 40px}blockquote{max-width:860px;font:500 var(--type-6)/var(--leading-title) var(--font-display);letter-spacing:var(--tracking-title);margin:22px 0 32px}blockquote em{color:inherit;font-style:normal}.guide-note>p:nth-of-type(2){color:#625a58;max-width:740px;font-size:var(--type-3);line-height:var(--leading-body);margin:0}.guide-note-link{border-bottom:1px solid var(--ink);font-size:var(--type-2);gap:38px;margin-top:28px;padding-bottom:4px;display:inline-flex}.guide-note-link:hover{color:var(--rose-deep);border-color:var(--rose-deep)}.cta{color:var(--paper);background:var(--ink);text-align:center;border-top:1px solid #55534e;padding:96px 40px 80px}.cta .eyebrow{color:#c9a8a7}.cta h2{margin:24px 0 18px}.cta>p{color:#b5b2aa;font-size:var(--type-3);margin:0 0 32px;font-weight:300}.cta>a{border:1px solid var(--paper);font-size:var(--type-3);gap:52px;padding:16px 22px;transition:color .2s,background .2s;display:inline-flex}.cta>a:hover{color:var(--ink);background:var(--paper)}@media (width<=800px){.breadcrumb{padding-inline:20px}.hero{grid-template-columns:1fr}.hero-copy{min-height:600px;padding:64px 20px 36px}.hero-visual{height:72vw;min-height:360px}.current,.regions{padding:82px 20px}.section-head>div{flex-direction:column;align-items:flex-start;margin-top:18px}.region-row{grid-template-columns:1fr;gap:36px}.fair-list>a{grid-template-columns:40px 1fr 24px;gap:16px}.fair-info{grid-column:2}.arrow{grid-area:1/3/3}.current-note{margin-left:56px}.region-row{padding-bottom:58px}.expansion-note{grid-template-columns:1fr;gap:12px;margin-left:0}.method{padding:76px 20px 0}.method-head h2{margin-top:18px}.principles{grid-template-columns:1fr}.principles article,.principles article+article{border-right:0;border-bottom:1px solid var(--line);min-height:220px;padding:28px 0 38px}.principles article:last-child{border-bottom:0}.principles h3{margin-top:42px}.guide-note{padding:64px 20px}.cta{padding:80px 20px 70px}}@media (width<=430px){.hero-copy{min-height:560px}.hero-visual{min-height:320px}.city-list a{grid-template-columns:1fr 20px}.city-list a>p{grid-column:1}.city-list a>span{grid-area:1/2/3}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .intro-reveal,.js.motion-ready .intro-reveal,.js [data-reveal],.js [data-reveal].is-visible{opacity:1;transition:none;transform:none}}
