@font-face{font-family:Manrope;src:url('./assets/fonts/manrope-latin.woff2') format('woff2');font-style:normal;font-weight:400 600;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:SUIT;src:url('./assets/fonts/SUIT-Regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
:root{color-scheme:light;--paper:#fcfbf8;--ink:#333630;--muted:#74766e;--line:#e7e6e0;--blue:#507689;--blue-light:#e9eff1;--font:Manrope,SUIT,"Apple SD Gothic Neo","Malgun Gothic",sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:13px;font-weight:400;-webkit-font-smoothing:antialiased;word-break:keep-all}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
button,a{-webkit-tap-highlight-color:transparent}
button{border:0;background:none}
svg{display:block;width:19px;height:19px}
::selection{background:#dce8ed;color:#29363b}
:focus-visible{outline:1px solid var(--blue);outline-offset:6px}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:12px;left:12px;z-index:20;padding:12px 18px;background:var(--ink);color:white;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.site-header,.catalogue,.site-footer{width:min(1120px,calc(100% - 112px));margin-inline:auto}
.site-header{padding-top:74px}
.wordmark{display:table;margin-inline:auto;font-size:23px;line-height:1.4;font-weight:500;letter-spacing:.2em;padding-left:.2em}
.header-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-top:25px}
.social-links{display:flex;gap:13px;align-items:center}
.social-links a{display:flex;align-items:center;justify-content:center;min-width:24px;min-height:28px;transition:color .2s}
.social-links a:hover{color:var(--blue)}
.main-nav{display:flex;align-items:center;gap:44px}
.main-nav a,.main-nav button{position:relative;display:inline-block;padding:9px 0;font-size:10px;font-weight:500;letter-spacing:.13em;line-height:1.4}
.main-nav a::after,.main-nav button::after{content:"";position:absolute;inset:auto 0 1px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}
.main-nav a:hover::after,.main-nav button:hover::after{transform:scaleX(1)}
.main-nav .nav-current{color:var(--ink)}
.main-nav .nav-current::after{transform:scaleX(1);background:#aaa99f}
.header-note{justify-self:end;color:#787c73;font-size:9px;letter-spacing:.13em}
.filters{display:flex;justify-content:center;align-items:center;gap:32px;margin:44px 0 38px;padding-bottom:18px;min-height:28px;border-bottom:1px solid var(--line)}
.filters button{position:relative;padding:9px 2px;color:#74766f;font-size:10px;line-height:1.5;letter-spacing:.065em;transition:color .2s}
.filters button:hover{color:#494e4e}
.filters button[aria-pressed="true"]{color:var(--blue)}
.filters button[aria-pressed="true"]::after{content:"";position:absolute;left:2px;right:2px;bottom:-19px;height:1px;background:var(--blue)}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:36px;row-gap:58px;align-items:start}
.project{min-width:0;animation:project-in .35s ease both}
.project-link{display:block;width:100%;padding:0;text-align:left}
.project-visual{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:4/5;border-radius:clamp(12px,1.4vw,20px);overflow:hidden;background:#f1efe9;isolation:isolate}
@supports(corner-shape:squircle){.project-visual{corner-shape:squircle;border-radius:clamp(18px,2.1vw,30px)}}
.project-art{display:block;width:61%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:20%;transform:scale(1);transition:transform .7s cubic-bezier(.2,.65,.3,1);user-select:none}
.visual-land{background:#f0ece3}
.visual-land .project-art{object-fit:contain;background:#f6f0e5}
.visual-baseball{background:#eaf0f2}
.visual-back{background:#eeeee9}
.visual-saju{background:#f1efea}
.visual-christmas{background:#eeece6}
.visual-count{background:#edf1f1}
.visual-christmas .project-art{width:68%;height:82%;object-fit:cover;aspect-ratio:auto;border-radius:0;object-position:50% 52%}
.project-link:hover .project-art{transform:scale(1.025)}
.project-caption{padding:17px 0 0}
.caption-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.project-status{font-size:8px;line-height:1.8;letter-spacing:.07em;color:#76786d;white-space:nowrap}
.status-upcoming{color:var(--blue)}
.project-caption h2{display:inline;margin:0;font-size:13px;line-height:1.7;font-weight:500;letter-spacing:.005em;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;transition:text-decoration-color .2s}
.project-link:hover h2{text-decoration-color:#a9b7bd}
.project-caption p{margin:6px 0 0;color:#73766e;font-size:11px;line-height:1.8;font-weight:400;letter-spacing:0}
.caption-status{white-space:nowrap}
.catalogue-end{margin:83px 0 0;text-align:center;font-size:10px;letter-spacing:.04em;color:#a09e95}
.site-footer{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px 20px;margin-top:100px;padding:32px 0 38px;border-top:1px solid var(--line);color:#777b71}
.footer-wordmark{grid-column:1;grid-row:1;font-size:12px;letter-spacing:.13em;color:#5f645a}
.site-footer p{grid-column:1;grid-row:2;margin:0;font-size:10px;letter-spacing:.01em}
.footer-links{grid-column:2;grid-row:1;display:flex;justify-content:center;gap:23px;font-size:10px}
.footer-links a:hover{color:var(--blue)}
.site-footer small{grid-column:2;grid-row:2;display:block;margin:0;font-size:9px;letter-spacing:.04em;color:#777b71;text-align:right}
.info-dialog{width:min(480px,calc(100% - 40px));max-height:calc(100dvh - 48px);padding:60px 48px 48px;border:1px solid #e9e5db;background:var(--paper);color:var(--ink);box-shadow:0 20px 100px #25241910;overscroll-behavior:contain}
.info-dialog::backdrop{background:rgba(48,47,40,.27)}
.info-dialog[open]{animation:dialog-in .22s ease}
.dialog-close{position:absolute;top:18px;right:18px;display:grid;place-items:center;width:36px;height:36px}
.dialog-close svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1}
.dialog-label{font-size:10px;letter-spacing:.1em;color:var(--blue)}
#about-dialog .dialog-label{display:block;margin-bottom:28px}
.info-dialog h2{margin:25px 0 28px;font-weight:400;font-size:25px;letter-spacing:-.045em;line-height:1.4}
.info-dialog p{margin:0 0 22px;font-size:13px;line-height:1.95;color:#77786f}
.info-dialog strong{font-weight:400;color:#3d413a}
.text-link{display:inline-block;margin-top:9px;font-size:11px;border-bottom:1px solid #9bafb8;padding-bottom:5px}
.contact-list{display:grid;gap:0;margin-top:28px}
.contact-list a{display:flex;justify-content:space-between;gap:14px;padding:19px 0;border-bottom:1px solid var(--line);font-size:12px}
.contact-list a span:last-child{color:#95958a}
.contact-list a:hover span{color:var(--blue)}
.info-dialog .dialog-note{font-size:11px;color:#99988d}
@keyframes project-in{from{opacity:.4;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes dialog-in{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1700px){.site-header,.catalogue,.site-footer{width:min(1240px,calc(100% - 160px))}.project-grid{column-gap:42px}}
@media(max-width:1000px){.site-header,.catalogue,.site-footer{width:calc(100% - 64px)}.site-header{padding-top:60px}.project-grid{gap:48px 26px}.main-nav{gap:38px}.filters{margin-bottom:32px}}
@media(max-width:700px){
  .site-header,.catalogue,.site-footer{width:calc(100% - 40px)}
  .site-header{padding-top:30px}
  .wordmark{font-size:18px;letter-spacing:.16em}
  .header-row{margin-top:20px;display:flex;justify-content:center}
  .social-links{position:absolute;top:29px;left:18px;gap:3px}
  .social-links a{min-width:25px;min-height:30px}
  .social-links svg{width:15px;height:15px}
  .header-note{display:none}
  .main-nav{gap:32px}
  .main-nav a,.main-nav button{font-size:9px;letter-spacing:.1em;padding:8px 0}
  .filters{gap:22px;margin:27px 0 25px;padding-bottom:12px;flex-wrap:wrap;min-height:28px}
  .filters button{font-size:9px;min-height:36px;padding:9px 0}
  .filters button[aria-pressed="true"]::after{bottom:-13px}
  .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 18px}
  .project-art{width:66%}
  .project-caption{padding-top:12px}
  .project-caption h2{font-size:12px}
  .project-caption p{font-size:10px;line-height:1.8;margin-top:5px;max-width:100%;padding:0}
  .caption-heading{flex-wrap:wrap;justify-content:flex-start;gap:2px 8px}
  .project-status{font-size:7px;letter-spacing:.02em}
  .catalogue-end{margin-top:52px;font-size:9px}
  .site-footer{margin-top:60px;padding:27px 0 30px;gap:12px 10px}
  .footer-wordmark{font-size:10px}
  .site-footer p,.footer-links{font-size:9px}
  .footer-links{gap:15px}
  .site-footer small{font-size:8px}
  .info-dialog{padding:48px 28px 34px}
  .info-dialog h2{font-size:23px}
}
@media(max-width:360px){.social-links{position:static;margin-top:15px;justify-content:center}.header-row{flex-direction:column-reverse;margin-top:16px}.project-grid{gap:30px 14px}.filters{gap:18px;margin-top:17px}.project-caption p{font-size:10px}}
@media(hover:none){.project-link:hover .project-art{transform:none}.project-link:active .project-art{transform:scale(.985)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.project-link:hover .project-art{transform:none}}
