@import url('https://api.fontshare.com/v2/css?f[]=switzer@400,500,600,700&display=swap');
:root{color-scheme:light;--paper:#f4f1ea;--ink:#11110f;--muted:#5e5b54;--accent:#bf985f;--stage:#e5e1d9;--display:Switzer,"Helvetica Neue",Arial,sans-serif;--body:Switzer,"Helvetica Neue",Arial,sans-serif;--side:clamp(22px,4.2vw,72px);--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{display:block;max-width:100%}::selection{background:var(--accent);color:var(--ink)}.site-head{height:78px;padding:0 var(--side);display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:700;letter-spacing:.09em}.brand-mark{width:34px;height:34px;flex:none}.brand-mark .c-ring{fill:none;stroke:var(--ink);stroke-width:2.2}.brand-mark .route{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:none;stroke-dashoffset:0}.brand-mark .point{fill:var(--accent);stroke:none;opacity:1;transform-origin:42px 18px;animation:point-arrive .3s .12s ease-out both}.head-link{font-size:14px;font-weight:500}.head-link:hover,.head-link:focus-visible{color:#85643c}.hero{min-height:min(620px,calc(100svh - 78px));padding:clamp(30px,4vh,58px) var(--side) 54px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.hero-word{font-size:clamp(118px,32vw,500px);font-weight:600;line-height:.72;letter-spacing:-.095em;margin:0 0 0 -.04em;text-transform:uppercase;transform-origin:left center}.hero-word span{display:block}.hero-word span+span{font-size:.47em;letter-spacing:-.055em;margin:.14em 0 0 .06em;color:var(--ink)}@supports(animation-timeline:scroll()){.hero-word{animation:word-scale linear both;animation-timeline:scroll();animation-range:0 460px}}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-top:54px}.hero-description{font-size:clamp(18px,1.55vw,23px);line-height:1.35;max-width:630px;margin:0;letter-spacing:-.02em}.route-sign{width:min(34vw,420px);height:auto;flex:none;overflow:visible}.route-sign path{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:440;stroke-dashoffset:440;animation:route-draw 1.5s .3s var(--ease) forwards}.route-sign circle{fill:var(--accent);opacity:0;animation:appear .2s 1.5s forwards}.gallery{padding:36px var(--side) 100px;background:var(--ink);color:var(--paper);min-height:100svh}.gallery-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:12px 0 34px}.gallery-intro h2{font-size:clamp(38px,6vw,84px);line-height:.95;letter-spacing:-.065em;font-weight:500;margin:0}.gallery-intro p{max-width:310px;margin:0;color:#c4c0b7;font-size:16px}.gallery-layout{display:grid;grid-template-columns:minmax(310px,.82fr) minmax(420px,1.18fr);gap:clamp(32px,6vw,100px);align-items:start}.concept-list{list-style:none;margin:0;padding:0}.concept-link{display:grid;grid-template-columns:1fr;gap:8px 16px;align-items:baseline;padding:17px 0 18px;border-bottom:0;position:relative}.concept-link:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#47443f;transform:scaleX(0);transform-origin:left;transition:transform .28s var(--ease),background .2s ease}.concept-link:hover:after,.concept-link:focus-visible:after,.concept-link[aria-current="true"]:after{transform:scaleX(1);background:var(--accent)}.concept-name{font-size:clamp(20px,2.1vw,30px);letter-spacing:-.04em;line-height:1.1}.concept-description{grid-column:1/-1;margin:0;color:#aba79f;font-size:14px;line-height:1.4;max-width:440px}.preview{position:sticky;top:28px;margin:0;background:var(--stage);min-height:420px;aspect-ratio:4/5;overflow:hidden}.preview img{width:100%;height:100%;position:absolute;inset:0;object-fit:contain;transition:opacity .28s ease}.preview figcaption{position:absolute;left:18px;bottom:14px;color:var(--ink);font-size:13px;font-weight:600}.selection{margin-top:38px;padding-top:18px;border-top:4px solid var(--accent);display:none;align-items:center;justify-content:space-between;gap:20px}.selection.is-visible{display:flex}.selection p{margin:0;font-size:15px}.selection strong{font-weight:600}.selection button{background:none;border:0;padding:6px 0;border-bottom:1px solid currentColor;cursor:pointer;font-size:14px}.selection button:hover{color:var(--accent)}.closing{background:var(--paper);padding:58px var(--side) 44px;display:flex;align-items:flex-end;justify-content:space-between;gap:32px}.closing p{max-width:480px;margin:0;font-size:15px}.closing-mark{font-size:clamp(42px,8vw,112px);line-height:.8;letter-spacing:-.08em;font-weight:600}.detail{padding:36px var(--side) 80px}.detail-layout{min-height:calc(100svh - 180px);display:grid;grid-template-columns:minmax(300px,.78fr) minmax(450px,1.22fr);gap:clamp(32px,6vw,100px);align-items:center}.detail-copy{padding:24px 0}.detail-copy h1{font-size:clamp(52px,7.2vw,112px);line-height:.92;letter-spacing:-.075em;font-weight:500;margin:0 0 24px;text-wrap:balance}.detail-copy .description{font-size:clamp(19px,2vw,26px);line-height:1.35;letter-spacing:-.025em;max-width:590px;margin:0 0 26px}.signature{padding-top:20px;border-top:4px solid var(--accent);max-width:460px}.signature p{margin:0;font-size:15px;color:var(--muted)}.signature p+p{margin-top:5px;color:var(--ink)}.choose{margin-top:36px;min-height:54px;padding:14px 22px;background:var(--ink);color:var(--paper);border:0;cursor:pointer;transition:background .2s ease,color .2s ease}.choose:hover,.choose:focus-visible,.choose[aria-pressed="true"]{background:var(--accent);color:var(--ink)}.detail-art{margin:0;background:var(--stage);position:relative;min-height:500px;aspect-ratio:4/5;max-height:calc(100svh - 140px);display:grid;place-items:center;overflow:hidden}.detail-art img{width:100%;height:100%;object-fit:contain}.detail-art figcaption{position:absolute;right:18px;bottom:14px;font-size:12px;color:#625d54}.detail-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:42px;padding-top:20px;border-top:4px solid var(--ink)}.detail-nav a{font-size:15px}.detail-nav a:hover{color:#85643c}.site-foot{background:var(--ink);color:var(--paper);padding:36px var(--side) 32px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.site-foot .word{font-size:clamp(34px,6vw,76px);font-weight:600;letter-spacing:-.07em;line-height:.8}.site-foot p{font-size:13px;color:#bcb8b0;max-width:270px;margin:0}.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);background:var(--accent);color:var(--ink);padding:12px 20px;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:10}.toast.show{opacity:1;transform:translate(-50%,0)}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@keyframes circle-draw{to{stroke-dashoffset:0}}@keyframes route-draw{to{stroke-dashoffset:0}}@keyframes appear{to{opacity:1}}@keyframes point-arrive{from{opacity:.3;transform:scale(.65)}to{opacity:1;transform:scale(1)}}@keyframes word-scale{from{scale:1}to{scale:.96}}@media(max-width:880px){.gallery-layout{grid-template-columns:1fr;gap:34px}.preview{position:relative;top:auto;grid-row:1;width:min(100%,520px);margin:0 auto}.concept-list{grid-row:2}.detail-layout{grid-template-columns:1fr;gap:32px;min-height:unset}.detail-copy{padding:32px 0 0;max-width:700px}.detail-art{grid-row:1;width:min(100%,680px);max-height:none;margin:0 auto}.detail-nav{margin-top:32px}.hero{min-height:min(660px,calc(100svh - 78px))}.hero-bottom{align-items:flex-end}.route-sign{width:min(25vw,250px)}}@media(max-width:560px){body{font-size:16px}.site-head{height:68px}.hero{min-height:min(540px,calc(85svh - 68px));padding-top:32px;padding-bottom:38px}.hero-word{font-size:30vw;line-height:.75}.hero-word span+span{font-size:.55em}.hero-bottom{display:block;margin-top:44px}.hero-description{font-size:18px;max-width:470px}.route-sign{display:block;width:58%;margin:32px 0 0 auto}.gallery{padding-top:28px;padding-bottom:70px}.gallery-intro{display:block;padding-bottom:24px}.gallery-intro h2{font-size:42px;margin-bottom:15px}.gallery-intro p{font-size:15px}.preview{min-height:0;width:100%;aspect-ratio:4/5}.concept-link{padding:15px 0}.concept-name{font-size:22px}.concept-description{font-size:14px}.selection{align-items:flex-start;flex-direction:column}.closing{display:block;padding-top:42px}.closing p{margin-bottom:28px}.closing-mark{font-size:17vw}.detail{padding:16px var(--side) 56px}.detail-layout{gap:22px}.detail-art{aspect-ratio:4/5;min-height:0;width:100%}.detail-copy{padding-top:18px}.detail-copy h1{font-size:clamp(48px,14vw,76px);margin-bottom:18px}.detail-copy .description{font-size:19px}.signature{padding-top:15px}.choose{margin-top:26px;width:100%}.detail-nav{margin-top:28px;padding-top:16px}.detail-nav a{font-size:14px}.site-foot{display:block;padding-top:28px}.site-foot .word{font-size:16vw;margin-bottom:20px}.site-foot p{max-width:360px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.brand-mark .c-ring,.brand-mark .route,.route-sign path,.route-sign circle{stroke-dashoffset:0;opacity:1}}
