/*
Theme Name: Hyungjoo Kim Main
Theme URI: https://example.com/
Author: ChatGPT
Author URI: https://example.com/
Description: Curated main-site theme for selected works, exhibitions, and editorial pages.
Version: 1.3.35
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: artist-portfolio-minimal
Tags: portfolio, minimal, block-styles, custom-logo, one-column, two-columns, grid-layout
*/

:root{
  --bg:#ffffff;
  --text:#161310;
  --muted:#6b645e;
  --border:rgba(22,19,16,.12);
  --accent:#6a4a3d;

  --container:1100px;
  --radius:14px;

  --gap:18px;
  --t-fast:150ms;
  --t-med:240ms;

  --serif: "Playfair Display", "EB Garamond", Georgia, serif;
  --display: "IM Fell English", "Playfair Display", Georgia, serif;
  --sans: "Inter", "Open Sans", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:hover{color:var(--accent)}

.container{max-width:var(--container);margin:0 auto;padding:0 18px}

.site-header{position:sticky;top:0;z-index:120;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--border)}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  max-width:none;
  padding:14px 20px;
  gap:16px;
}
.site-title{font-family:var(--display);font-size:20px;margin:0}
.nav-toggle{
  display:none;
  border:0;
  background:transparent;
  padding:0;
  border-radius:0;
  cursor:pointer;
  -webkit-appearance:none;
  appearance:none;
  color:var(--text);
}
.nav-toggle:hover{
  color:var(--accent);
}
.nav-toggle-icon{
  display:inline-flex;
  flex-direction:column;
  justify-content:space-between;
  width:24px;
  height:18px;
  position:relative;
}
.nav-toggle-icon span{
  display:block;
  width:100%;
  height:2px;
  border-radius:999px;
  background:currentColor;
  transform-origin:center;
  transition:transform var(--t-med) cubic-bezier(.22,1,.36,1), opacity var(--t-fast) ease, width var(--t-med) cubic-bezier(.22,1,.36,1);
}
.nav-toggle[aria-expanded="true"] .nav-toggle-icon span:nth-child(1),
body.nav-open .nav-toggle-icon span:nth-child(1),
.site-header.nav-is-open .nav-toggle-icon span:nth-child(1){
  transform:translateY(8px) rotate(45deg) !important;
}
.nav-toggle[aria-expanded="true"] .nav-toggle-icon span:nth-child(2),
body.nav-open .nav-toggle-icon span:nth-child(2),
.site-header.nav-is-open .nav-toggle-icon span:nth-child(2){
  opacity:0 !important;
  width:0 !important;
}
.nav-toggle[aria-expanded="true"] .nav-toggle-icon span:nth-child(3),
body.nav-open .nav-toggle-icon span:nth-child(3),
.site-header.nav-is-open .nav-toggle-icon span:nth-child(3){
  transform:translateY(-8px) rotate(-45deg) !important;
}
.nav-backdrop{display:none}
.primary-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:18px;align-items:center}
.primary-nav li{position:relative}
.primary-nav a{font-size:14px;opacity:.9;transition:opacity var(--t-fast) ease,color var(--t-fast) ease,font-weight var(--t-fast) ease,transform var(--t-fast) ease}
.primary-nav a:hover{opacity:1}
.primary-nav li.menu-item-has-children > a{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.primary-nav li.menu-item-has-children > a::after{
  content:"▾";
  font-size:10px;
  line-height:1;
  transform:translateY(1px);
}
.primary-nav .sub-menu{
  display:block;
  position:absolute;
  top:calc(100% - 1px);
  left:0;
  min-width:220px;
  padding:10px 0;
  margin:0;
  list-style:none;
  border:1px solid var(--border);
  border-radius:0;
  background:#fff;
  box-shadow:0 18px 36px rgba(22,19,16,.12);
  z-index:20;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(8px);
  transition:opacity var(--t-fast) ease, transform var(--t-fast) ease, visibility 0s linear var(--t-fast);
}
.primary-nav li.menu-item-has-children:hover > .sub-menu,
.primary-nav li.menu-item-has-children:focus-within > .sub-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
  transition:opacity var(--t-fast) ease, transform var(--t-fast) ease, visibility 0s linear 0s;
}
.primary-nav .sub-menu li{
  position:relative;
}
.primary-nav .sub-menu a{
  display:block;
  padding:9px 16px;
  font-size:13px;
  white-space:nowrap;
}
.primary-nav .sub-menu a:hover{
  background:rgba(22,19,16,.04);
}
.primary-nav .sub-menu .current-menu-item > a,
.primary-nav .sub-menu .current_page_item > a,
.primary-nav .sub-menu .current-menu-ancestor > a,
.primary-nav .sub-menu .current_page_ancestor > a{
  font-weight:700;
  border-bottom:0;
  padding-bottom:9px;
}
.primary-nav li.current-menu-item > a,
.primary-nav li.current_page_item > a,
.primary-nav li.current-menu-ancestor > a,
.primary-nav li.current_page_ancestor > a,
.primary-nav a[aria-current="page"]{
  color:var(--text);
  opacity:1;
  font-weight:700;
  letter-spacing:.01em;
  text-decoration:none;
  border-bottom:2px solid currentColor;
  padding-bottom:3px;
}
.primary-nav li.current-menu-item > a:hover,
.primary-nav li.current_page_item > a:hover,
.primary-nav li.current-menu-ancestor > a:hover,
.primary-nav li.current_page_ancestor > a:hover,
.primary-nav a[aria-current="page"]:hover{
  transform:none;
}

body .mam-root{
  right:auto !important;
  left:20px !important;
  bottom:16px !important;
}

body .mam-root .mam-panel{
  right:auto !important;
  left:0 !important;
  bottom:64px !important;
}

.hjk-scroll-top{
  position:fixed;
  right:20px;
  bottom:16px;
  z-index:1000001;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  border:1px solid var(--border);
  border-radius:999px;
  background:rgba(255,255,255,.96);
  color:var(--text);
  box-shadow:0 10px 24px rgba(22,19,16,.08);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(10px);
  transition:opacity var(--t-med) ease, transform var(--t-med) ease, visibility 0s linear var(--t-med), box-shadow var(--t-fast) ease, background var(--t-fast) ease;
}

.hjk-scroll-top span{
  font-size:18px;
  line-height:1;
  transform:translateY(-1px);
}

.hjk-scroll-top:hover{
  background:#fff;
  box-shadow:0 14px 30px rgba(22,19,16,.12);
}

.hjk-scroll-top.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
  transition:opacity var(--t-med) ease, transform var(--t-med) ease, visibility 0s linear 0s, box-shadow var(--t-fast) ease, background var(--t-fast) ease;
}

@media (max-width: 860px){
  .header-inner{
    padding:14px 20px;
  }
  body.nav-open{
    overflow:hidden;
  }
  .nav-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    position:fixed;
    top:14px;
    right:20px;
    width:48px;
    height:48px;
    z-index:160;
    border-radius:999px;
  }
  .nav-backdrop{
    display:block;
    position:fixed;
    inset:0;
    background:rgba(22,19,16,.32);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity var(--t-med) ease, visibility 0s linear var(--t-med);
    z-index:130;
  }
  .site-header.nav-is-open .nav-backdrop{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transition:opacity var(--t-med) ease, visibility 0s linear 0s;
  }
  .primary-nav{
    display:block;
    position:fixed;
    top:0;
    right:0;
    width:min(88vw, 360px);
    height:100dvh;
    padding:72px 22px 24px;
    background:#fff;
    border-left:1px solid var(--border);
    box-shadow:-24px 0 48px rgba(22,19,16,.18);
    transform:translateX(102%);
    visibility:hidden;
    pointer-events:none;
    transition:transform var(--t-med) ease, visibility 0s linear var(--t-med);
    overflow-y:auto;
    z-index:140;
  }
  .primary-nav.is-open{
    transform:translateX(0);
    visibility:visible;
    pointer-events:auto;
    transition:transform var(--t-med) ease, visibility 0s linear 0s;
  }
  .primary-nav ul{
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
    padding:0;
  }
  .primary-nav li{
    width:100%;
  }
  .primary-nav a{
    display:inline-flex;
    width:auto;
    font-size:16px;
  }
  .primary-nav .sub-menu{
    position:static;
    min-width:0;
    margin:0;
    padding:6px 0 0 16px;
    border:0;
    border-radius:0;
    box-shadow:none;
    background:transparent;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
    transition:none;
  }
  .primary-nav .sub-menu a{
    padding:4px 0;
    white-space:normal;
  }

  body .mam-root{
    left:16px !important;
    bottom:16px !important;
  }

  .hjk-scroll-top{
    right:16px;
    bottom:16px;
    width:48px;
    height:48px;
  }
}

.site-main{padding:28px 0 54px}
.section{padding:42px 0}
.section + .section{border-top:1px solid var(--border)}

.hjk-page-shell{
  max-width:760px;
  margin:0 auto;
}

.hjk-statement-shell,
.hjk-cv-shell{
  max-width:1100px;
}

.hjk-page-kicker{
  margin:0 0 18px;
  text-align:center;
  font-family:var(--sans);
  font-size:12px;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
}

.hjk-page-body{
  font-size:15px;
}

.hjk-page-body > :first-child{
  margin-top:0;
}

.hjk-page-body > :last-child{
  margin-bottom:0;
}

body.page-id-1585 .hjk-statement-body h1.wp-block-heading{
  font-family:var(--display);
}

body.page-id-1585 .hjk-statement-body{
  font-size:12px;
  line-height:1.8;
}

body.page-id-1585 .hjk-statement-intro{
  padding:24px 32px 0;
}

body.page-id-1585 .hjk-statement-intro::after{
  content:"";
  display:block;
  clear:both;
}

body.page-id-1585 .hjk-statement-insert{
  float:right;
  width:min(40%, 380px);
  margin:6px 0 18px 32px;
}

body.page-id-1585 .hjk-statement-insert-image{
  display:block;
  width:100%;
  height:auto;
}

body.page-id-1585 .hjk-statement-body :is(p, li, blockquote, figcaption, td, th, .lead){
  font-size:12px !important;
  line-height:1.8;
}

body.page-id-1585 .hjk-statement-body :is(.wp-block-group.alignwide, .wp-block-media-text.alignfull){
  padding-left:32px !important;
  padding-right:32px !important;
}

body.page-id-1585 .hjk-statement-body .wp-block-group.alignwide .wp-block-group__inner-container > h3.wp-block-heading{
  font-size:28px !important;
  line-height:1.2;
  margin:0 0 16px;
  font-weight:700;
}

body.page-id-1585 .hjk-statement-body h2,
body.page-id-1585 .hjk-statement-body h3,
body.page-id-1585 .hjk-statement-body h4,
body.page-id-1585 .hjk-statement-body h5,
body.page-id-1585 .hjk-statement-body h6{
  font-size:12px !important;
  line-height:1.8;
  font-weight:700;
  margin:0 0 8px;
}

body.page-id-1585 .hjk-statement-body h1.wp-block-heading{
  margin:0 0 18px;
  line-height:1.04;
}

@media (max-width: 820px){
  body.page-id-1585 .hjk-statement-intro{
    padding-left:0;
    padding-right:0;
  }

  body.page-id-1585 .hjk-statement-body :is(.wp-block-group.alignwide, .wp-block-media-text.alignfull){
    padding-left:0 !important;
    padding-right:0 !important;
  }

  body.page-id-1585 .hjk-statement-insert{
    float:none;
    width:min(100%, 460px);
    margin:0 0 20px;
  }
}

.hjk-painting-shell{
  max-width:1100px;
  margin:0 auto;
}

.hjk-painting-grid{
  gap:42px 24px;
}

.hjk-painting-item{
  margin:0;
}

.hjk-painting-link{
  display:block;
}

.hjk-painting-media{
  width:100%;
}

.hjk-painting-image,
.hjk-painting-placeholder{
  width:100%;
  height:auto;
}

.hjk-painting-image{
  object-fit:contain;
}

.hjk-painting-placeholder{
  background:linear-gradient(135deg, #f6f6f6, #ececec);
  aspect-ratio:4 / 3;
}

.hjk-painting-copy{
  margin-top:10px;
}

.hjk-painting-title{
  display:none;
}

.hjk-painting-meta{
  margin:4px 0 0;
  color:var(--muted);
  font-size:12px;
  line-height:12px;
  text-align:center;
  white-space:pre-line;
}

.hjk-painting-meta::first-line{
  font-weight:700;
}

body.home .site-main{
  padding:0;
  overflow-x:clip;
}

body.home .site-main > .container{
  max-width:none;
  padding:0;
}

.hjk-home-video{
  width:100%;
  padding:0;
  background:#060606;
}

.hjk-home-video-frame{
  position:relative;
  width:min(100%, calc((100svh - 110px) * 4 / 3));
  aspect-ratio:4 / 3;
  margin:0 auto;
  background:#060606;
  overflow:hidden;
}

.hjk-home-video-media{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.hjk-home-video-toggle{
  position:absolute;
  right:18px;
  bottom:18px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:132px;
  min-height:40px;
  padding:10px 16px;
  border:1px solid rgba(255,255,255,.56);
  border-radius:999px;
  background:rgba(6,6,6,.72);
  color:#fff;
  font-family:var(--sans);
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:pointer;
  backdrop-filter:blur(10px);
  transition:transform var(--t-fast) ease, background var(--t-fast) ease, border-color var(--t-fast) ease;
}

.hjk-home-video-toggle:hover{
  transform:translateY(-1px);
  background:rgba(6,6,6,.84);
  border-color:rgba(255,255,255,.78);
}

.hjk-home-intro{
  display:flex;
  justify-content:center;
  padding:40px 18px 28px;
}

.hjk-home-title{
  width:100%;
  margin:0;
  text-align:center;
  font-family:var(--display);
  font-size:clamp(40px, 5.8vw, 92px);
  line-height:1;
  letter-spacing:-0.03em;
  font-weight:400;
}

.hjk-featured-works{
  display:flex;
  flex-direction:column;
  gap:50px;
  padding-bottom:100px;
}

.hjk-featured-work{
  position:relative;
  overflow:visible;
  background:#fff;
}

body.home .hjk-featured-work:first-child{
  width:100%;
  margin-left:0;
  min-height:0;
}

.hjk-featured-work-link{
  display:block;
  width:100%;
  height:auto;
}

body.home .hjk-featured-work:first-child .hjk-featured-work-link{
  width:100%;
}

body.home .hjk-featured-work:not(:first-child){
  width:70%;
  margin:0 auto;
}

.hjk-featured-work-image,
.hjk-featured-work-placeholder{
  width:100%;
  height:auto;
}

.hjk-featured-work-image{
  object-fit:contain;
}

body.home .hjk-featured-work:first-child .hjk-featured-work-image{
  object-fit:contain;
  object-position:center center;
}

.hjk-featured-work-placeholder{
  background:linear-gradient(135deg, #f6f6f6, #ececec);
  aspect-ratio:4 / 3;
}

.hjk-featured-work-caption{
  width:100%;
  margin:0;
  padding:0 4px 0;
  text-align:center;
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
  white-space:pre-line;
}

.hjk-featured-work-caption::first-line{
  font-weight:700;
}

.hero{padding:46px 0 22px}
.hero h1{font-family:var(--serif);font-size:clamp(42px, 6vw, 72px);line-height:1.02;margin:0 0 12px}
.hero .tagline{color:var(--muted);font-size:16px;max-width:58ch;margin:0 0 18px}
.hero .cta-row{display:flex;gap:12px;flex-wrap:wrap}

@media (max-width: 860px){
  .hjk-home-video-frame{
    width:100%;
  }

  .hjk-home-video-toggle{
    right:14px;
    bottom:14px;
    min-width:120px;
    min-height:38px;
    padding:9px 14px;
    font-size:10px;
  }
}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);background:transparent;cursor:pointer;transition:transform var(--t-fast) ease,border-color var(--t-fast) ease}
.btn:hover{border-color:var(--accent);transform:translateY(-1px)}
.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}

.hjk-work-subnav{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 24px;
}

.hjk-work-subnav .btn{
  padding:8px 12px;
  border-radius:0;
  font-size:13px;
  line-height:1.2;
}

.hjk-work-subnav .btn.is-current{
  pointer-events:none;
  cursor:default;
}

.hjk-work-hub-shell{
  max-width:980px;
}

.hjk-work-hub-intro{
  max-width:60ch;
}

.hjk-work-hub-panel{
  margin-top:100px;
}

.hjk-work-hub-list{
  display:flex;
  flex-direction:column;
}

.hjk-work-hub-card{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:32px;
  padding:22px 0;
  border-top:1px solid var(--border);
  color:inherit;
  text-decoration:none;
  transition:transform var(--t-med) ease,color var(--t-med) ease;
}

.hjk-work-hub-card:last-child{
  border-bottom:1px solid var(--border);
}

.hjk-work-hub-card:hover{
  transform:translateX(4px);
}

.hjk-work-hub-card-copy{
  max-width:62ch;
}

.hjk-work-hub-card-label{
  margin:0 0 8px;
  font-size:11px;
  line-height:1.2;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--muted);
}

.hjk-work-hub-card-title{
  margin:0 0 10px;
  font-family:var(--serif);
  font-size:clamp(28px, 3.2vw, 40px);
  line-height:1;
}

.hjk-work-hub-card-desc{
  margin:0;
  font-size:15px;
  line-height:1.65;
  color:var(--muted);
  max-width:54ch;
}

.hjk-work-hub-card-arrow{
  margin-top:4px;
  font-size:11px;
  line-height:1.2;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--accent);
  white-space:nowrap;
}

.hjk-work-hub-card:hover .hjk-work-hub-card-arrow{
  transform:translateX(2px);
}

.hjk-work-hub-card-arrow,
.hjk-work-hub-card-title{
  transition:transform var(--t-med) ease, color var(--t-med) ease, text-decoration-color var(--t-med) ease;
}

.hjk-work-hub-card:hover .hjk-work-hub-card-title{
  text-decoration:underline;
  text-underline-offset:4px;
}

body.page-template-page-works .hjk-work-subnav{
  gap:12px;
}

body.page-template-page-works .hjk-work-subnav .btn{
  min-width:clamp(180px, 24vw, 240px);
  padding:14px 16px;
  font-size:14px;
  justify-content:center;
}

body.page-template-page-works .hjk-work-subnav .btn:hover{
  transform:translateY(-2px);
}

@media (max-width: 620px){
  body.page-template-page-works .hjk-work-subnav .btn{
    width:100%;
    min-width:0;
    justify-content:flex-start;
  }

  .hjk-work-hub-card{
    flex-direction:column;
    gap:12px;
  }

  .hjk-work-hub-card-copy{
    max-width:none;
  }

  .hjk-work-hub-card-arrow{
    margin-top:0;
  }
}

.grid{display:grid;gap:var(--gap)}
.grid.cols-3{grid-template-columns:repeat(3, 1fr)}
.grid.cols-2{grid-template-columns:repeat(2, 1fr)}
@media (max-width: 980px){ .grid.cols-3{grid-template-columns:repeat(2,1fr)} }
@media (max-width: 620px){ .grid.cols-3,.grid.cols-2{grid-template-columns:1fr} }

.card{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:#fffdf8;transition:transform var(--t-med) ease,border-color var(--t-med) ease;box-shadow:0 1px 0 rgba(22,19,16,.02)}
.card:hover{border-color:rgba(22,19,16,.18);transform:translateY(-2px)}
.card .card-body{padding:14px}
.card .card-title{margin:0 0 6px;font-size:15px}
.card .card-meta{margin:0;font-size:13px;color:var(--muted)}
.wp-block-latest-posts__post-excerpt{
  white-space:pre-line;
  font-size:12px;
  line-height:12px;
}

body.page .entry-content .wp-block-latest-posts__post-title{
  display:none;
}

.wp-block-latest-posts__post-excerpt::first-line{
  font-weight:700;
}

body.page .entry-content .wp-block-latest-posts__list > li{
  display:flex;
  flex-direction:column;
  margin:0;
}

body.page .entry-content .wp-block-latest-posts.is-grid{
  gap:42px 24px;
}

body.page .entry-content .wp-block-latest-posts__featured-image{
  width:100%;
  aspect-ratio:1 / 1;
  margin:0 0 10px;
  overflow:hidden;
  background:transparent;
  border:0;
  border-radius:0;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}

body.page .entry-content .wp-block-latest-posts__featured-image a{
  display:flex;
  width:100%;
  height:100%;
  align-items:center;
  justify-content:center;
}

body.page .entry-content .wp-block-latest-posts__featured-image img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center bottom;
}

body.page .entry-content .wp-block-latest-posts__list{
  width:100%;
  margin:0;
  padding:0;
  list-style:none;
}

.thumb{aspect-ratio:4/3;background:#f6f6f6;overflow:hidden}
.thumb img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-med) ease}
.card:hover .thumb img{transform:scale(1.02)}

.masonry{column-count:3;column-gap:var(--gap)}
.masonry-item{break-inside:avoid;margin:0 0 var(--gap)}
@media (max-width: 980px){ .masonry{column-count:2} }
@media (max-width: 620px){ .masonry{column-count:1} }

body.page .entry-content .wp-block-latest-posts.is-grid.columns-3{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:42px 24px;
  align-items:start;
}

body.page .entry-content .wp-block-latest-posts.is-grid.columns-3 li{
  width:auto;
  margin:0;
}

.hjk-hanji-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:42px 24px;
  align-items:start;
}

.hjk-hanji-card{
  display:flex;
  flex-direction:column;
  margin:0;
  min-width:0;
}

.hjk-hanji-card .wp-block-latest-posts__post-title{
  display:none;
}

.hjk-hanji-card .wp-block-latest-posts__post-excerpt{
  display:block;
  font-size:12px;
  line-height:1.35;
  white-space:normal;
}

.hjk-hanji-card .wp-block-latest-posts__featured-image{
  aspect-ratio:1 / 1;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  margin-bottom:10px;
  overflow:hidden;
}

.hjk-hanji-card .wp-block-latest-posts__featured-image a{
  display:flex;
  width:100%;
  height:100%;
  align-items:center;
  justify-content:center;
}

.hjk-hanji-card .wp-block-latest-posts__featured-image img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center bottom;
}

.hjk-hanji-pair{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:24px;
  min-width:0;
}

.hjk-hanji-placeholder{
  aspect-ratio:4 / 3;
  width:100%;
  background:linear-gradient(135deg, #f6f6f6, #ececec);
}

.hjk-work-placeholder{
  aspect-ratio:1 / 1;
  width:100%;
  background:linear-gradient(135deg, #f6f6f6, #ececec);
}

.hjk-painting-grid.grid.cols-3{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

@media (max-width: 700px){
  body.page .entry-content .wp-block-latest-posts.is-grid.columns-3,
  .hjk-painting-grid.grid.cols-3{
    grid-template-columns:1fr;
  }

  body.page-id-150 .hjk-hanji-grid{
    grid-template-columns:1fr;
  }

  body.page-id-150 .hjk-hanji-pair{
    grid-column:auto;
    grid-template-columns:1fr;
  }
}

body.page-id-1592 .entry-content .wp-block-latest-posts__list{
  width:100%;
  margin:0;
  padding:0;
  list-style:none;
}

.post-header h1{font-family:var(--serif);margin:0 0 10px;line-height:1.15}
.post-meta{color:var(--muted);font-size:13px;margin:0 0 18px}

.site-footer{border-top:1px solid var(--border);padding:26px 0;color:var(--muted);font-size:13px}
.footer-inner{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.footer-menu ul{list-style:none;display:flex;gap:14px;margin:0;padding:0}
.footer-menu a{color:var(--muted)}
.footer-menu a:hover{color:var(--accent)}

.apm-filters{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 16px}
.apm-filter-btn{padding:8px 10px;border:1px solid var(--border);background:#fff;border-radius:var(--radius);font-size:13px;cursor:pointer;transition:border-color var(--t-fast) ease,transform var(--t-fast) ease}
.apm-filter-btn:hover{border-color:var(--accent);transform:translateY(-1px)}
.apm-filter-btn.is-active{border-color:var(--accent);color:var(--accent)}

.apm-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.85);display:none;align-items:center;justify-content:center;padding:18px;z-index:9999}
.apm-lightbox.is-open{display:flex}
.apm-lightbox-inner{max-width:min(1100px, 96vw);max-height:92vh;width:100%;display:flex;flex-direction:column;gap:12px}
.apm-lightbox-media{flex:1;display:flex;align-items:center;justify-content:center}
.apm-lightbox-media img{max-width:100%;max-height:82vh}
.apm-lightbox-bar{display:flex;justify-content:space-between;align-items:center;gap:12px}
.apm-lightbox-caption{color:rgba(255,255,255,.85);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.apm-lightbox-close{padding:10px 12px;border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;border-radius:var(--radius);cursor:pointer}
.apm-lightbox-close:hover{border-color:rgba(255,255,255,.55)}

.apm-form{max-width:720px}
.apm-field{display:flex;flex-direction:column;gap:6px;margin:0 0 14px}
.apm-field label{font-size:13px;color:var(--muted)}
.apm-field input,.apm-field textarea{padding:11px 12px;border:1px solid var(--border);border-radius:var(--radius);font:inherit}
.apm-field input:focus,.apm-field textarea:focus{outline:2px solid var(--accent);outline-offset:1px}
.apm-notice{border:1px solid var(--border);padding:12px;border-radius:var(--radius);margin:0 0 16px}
.apm-notice.error{border-color:rgba(255,92,92,.5)}

.alignwide{max-width:var(--container);margin-left:auto;margin-right:auto}
.alignfull{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
