/*
Theme Name: KOZUMIN V50
Theme URI: https://kozumin.com
Author: KOZUMIN
Description: Luxury editorial Korea magazine theme with gallery-style hover interactions and automated editorial placement.
Version: 50.0.0
Text Domain: kozumin
*/

:root{
  --bg:#f4f3ee;
  --paper:#fbfaf7;
  --ink:#0b0b0a;
  --muted:#6d6b65;
  --line:#d8d5cd;
  --dark:#0a0a09;
  --max:1680px;
  --pad:28px;
  --serif:"Iowan Old Style","Baskerville","Times New Roman",serif;
  --sans:"Noto Sans","Noto Sans KR",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  --ui-font:"Noto Sans","Noto Sans KR",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--ui-font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button{font:inherit}
.k-label{font-size:9px;letter-spacing:.18em;text-transform:uppercase;font-weight:700}
.k-muted{color:var(--muted)}
.k-arrow{display:inline-flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;position:relative;padding-bottom:5px}
.k-arrow:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:currentColor;transition:width .35s var(--ease)}
.k-arrow:hover:after{width:100%}
.k-arrow span{transition:transform .35s var(--ease)}
.k-arrow:hover span{transform:translateX(5px)}

/* HEADER */
.site-header{
  height:70px;display:flex;align-items:center;position:relative;z-index:110;
  background:var(--bg);border-bottom:1px solid rgba(11,11,10,.12)
}
.home .site-header{
  position:absolute;top:0;left:0;right:0;background:transparent;border:0;color:#fff;
  mix-blend-mode:difference
}
.header-inner{width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--pad);gap:24px}
.brand{justify-self:start;font-size:20px;font-weight:800;letter-spacing:-.055em;transition:opacity .38s var(--ease)}
.brand:hover{opacity:1}
.brand small{display:block;font-size:7px;letter-spacing:.28em;margin-top:3px;font-weight:700}
.main-nav{display:flex;gap:31px;justify-self:center}
.main-nav a{
  font-family:var(--serif);font-size:17px;line-height:1;padding:25px 0;
  position:relative;
  opacity:.82;
  transition:opacity .4s var(--ease),color .4s var(--ease)
}
.main-nav a:after{
  content:"";position:absolute;left:0;bottom:17px;width:0;height:1px;
  background:currentColor;transition:width .42s var(--ease)
}
.home .main-nav a{color:#fff}
.home .main-nav a:hover{color:#fff;opacity:1}
body:not(.home) .main-nav a{color:#111;opacity:.76}
body:not(.home) .main-nav a:hover{color:#000;opacity:1}
.main-nav a:hover:after{width:100%}
.header-tools{justify-self:end;display:flex;align-items:center}
.language-switcher{display:flex;align-items:center;gap:14px}
.lang-link{
  position:relative;font-family:var(--serif);font-size:13px;white-space:nowrap;
  opacity:.62;transition:opacity .35s var(--ease),color .35s var(--ease)
}
.lang-link:after{
  content:"";position:absolute;left:0;bottom:-5px;width:0;height:1px;background:currentColor;
  transition:width .4s var(--ease)
}
.lang-link:hover{opacity:1;color:inherit}
.lang-link:hover:after,.lang-link.is-active:after{width:100%}
.lang-link.is-active{opacity:1}
.home .header-languages .lang-link{color:#fff}
.footer-language{margin-top:28px}
.footer-language .lang-link{font-size:14px;color:#aaa8a2}
.mobile-language-row{padding:4px 0 28px;border-bottom:1px solid var(--line);margin-bottom:15px}
.mobile-language-row .language-switcher{gap:22px}
.mobile-language-row .lang-link{font-size:17px}
.menu-toggle{display:none;border:0;background:transparent;color:inherit;padding:10px 0;font-size:10px;letter-spacing:.16em;text-transform:uppercase}

/* HERO */
.hero{min-height:100vh;position:relative;background:#1a1a18;overflow:hidden}
.hero-media{position:absolute;inset:0;background:#1b1b19}
.hero-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease),filter .5s var(--ease)}
.hero:hover .hero-media img{transform:scale(1.008)}
.hero-fallback{
  width:100%;height:100%;
  background:
    radial-gradient(circle at 74% 24%,rgba(255,255,255,.18),transparent 24%),
    linear-gradient(135deg,#1b1c18 0%,#65685f 45%,#252622 100%)
}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02) 40%,rgba(0,0,0,.48) 100%)}

/* Gladstone-inspired hover: white copy over image -> white panel with black copy */
.hero-caption{
  position:absolute;left:0;right:0;bottom:0;z-index:2;color:#fff;
  display:grid;grid-template-columns:1fr 2.2fr 1fr;gap:24px;align-items:end;
  min-height:190px;padding:28px var(--pad) 34px;
  transition:background .42s var(--ease),color .42s var(--ease),min-height .42s var(--ease),padding .42s var(--ease)
}
.hero-caption:hover{
  background:#fff;color:#050505;min-height:230px;padding-top:42px;padding-bottom:44px
}
.hero-side{font-family:var(--serif);font-size:clamp(23px,2.5vw,43px);line-height:1.02}
.hero-side em{display:block;margin-top:12px;font-weight:400}
.hero-side.right{text-align:right}
.hero-center{text-align:center}
.hero-center .k-label{margin-bottom:12px}
.hero-title{font-family:var(--serif);font-weight:400;font-size:clamp(42px,5.8vw,92px);line-height:.92;letter-spacing:-.052em;margin:0}
.hero-dek{font-size:12px;line-height:1.55;max-width:650px;margin:16px auto 0}

/* Latest ticker/strip */
.latest-strip{
  display:grid;grid-template-columns:105px repeat(4,1fr);background:var(--paper);
  border-bottom:1px solid var(--line);border-top:1px solid var(--line)
}
.latest-strip-label{padding:18px var(--pad);display:flex;align-items:center;font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.latest-strip a{
  padding:17px 18px;border-left:1px solid var(--line);font-family:var(--serif);font-size:15px;line-height:1.15;
  transition:background .38s var(--ease),color .38s var(--ease)
}
.latest-strip a:hover{background:#000;color:#fff}
.latest-strip small{display:block;font-family:var(--sans);font-size:8px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px}
.latest-strip a:hover small{color:#b9b7b0}

/* INTRO */
.intro-band{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;padding:75px var(--pad) 82px;background:var(--paper)}
.intro-band h2{font-family:var(--serif);font-weight:400;font-size:clamp(42px,5vw,82px);line-height:.94;letter-spacing:-.045em;margin:0}
.intro-band p{align-self:end;font-size:15px;line-height:1.7;color:var(--muted);max-width:720px}

/* SECTION HEAD */
.home-section{padding:88px var(--pad) 102px;border-top:1px solid var(--line)}
.home-section-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:34px}
.home-section-head h2{font-family:var(--serif);font-weight:400;font-size:clamp(38px,4.4vw,68px);line-height:1;margin:0}
.home-section-head p{font-size:13px;line-height:1.55;color:var(--muted);max-width:560px;margin:0;text-align:right}

/* GALLERY HOVER CARD
   Default: text over bottom of image in white.
   Hover: image visually lifts, bottom white editorial panel opens, text becomes black.
*/
.gallery-grid{display:grid;grid-template-columns:1.55fr .95fr .95fr;gap:8px}
.gallery-grid.culture{grid-template-columns:1.1fr 1.1fr 1fr}
.g-card{
  display:grid;grid-template-rows:1fr 0;position:relative;overflow:hidden;background:#d9d6ce;
  min-height:520px;transition:grid-template-rows .48s var(--ease),background .48s var(--ease)
}
.g-card.feature{min-height:650px}
.g-media{position:relative;min-height:0;overflow:hidden}
.g-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .72s var(--ease),filter .48s var(--ease)}
.g-card:hover .g-media img{transform:scale(1.018)}
.g-overlay{
  position:absolute;z-index:2;left:22px;right:22px;bottom:22px;color:#fff;
  transition:opacity .28s var(--ease),transform .42s var(--ease)
}
.g-card:hover .g-overlay{opacity:0;transform:translateY(-8px)}
.g-panel{
  min-height:0;background:#fff;color:#080808;padding:0 22px;overflow:hidden;
  display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center;
  transition:min-height .48s var(--ease),padding .48s var(--ease)
}
.g-card:hover{grid-template-rows:1fr 150px}
.g-card.feature:hover{grid-template-rows:1fr 175px}
.g-card:hover .g-panel{padding:22px}
.g-meta{font-family:var(--sans);font-size:9px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;margin-bottom:7px}
.g-title{font-family:var(--serif);font-weight:400;font-size:clamp(27px,2.6vw,43px);line-height:1.02;letter-spacing:-.03em;margin:0}
.g-card:not(.feature) .g-title{font-size:30px}
.g-panel-side{font-family:var(--serif);font-size:18px;text-align:right;white-space:nowrap}
.g-panel-side em{display:block}
.g-card .empty-art{position:absolute;inset:0;background:linear-gradient(135deg,#d8d5cd,#eeeae3)}
.g-card .empty-art:after{content:"";position:absolute;inset:18%;border:1px solid rgba(0,0,0,.11)}

/* CATEGORY FEATURE BANDS */
.feature-band{display:grid;grid-template-columns:1fr 1fr;min-height:72vh;border-top:1px solid var(--line)}
.feature-band.reverse .feature-media{order:2}
.feature-media{position:relative;background:#dcd9d1;min-height:520px;overflow:hidden}
.feature-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .72s var(--ease),filter .45s var(--ease)}
.feature-band:hover .feature-media img{transform:scale(1.015)}
.feature-copy{
  padding:52px var(--pad);display:flex;flex-direction:column;justify-content:space-between;background:var(--paper);
  transition:background .45s var(--ease),color .45s var(--ease)
}
.feature-band:hover .feature-copy{background:#0b0b0a;color:#fff}
.feature-band:hover .feature-copy p{color:#bbb9b2}
.feature-copy .index{font-family:var(--serif);font-size:18px}
.feature-copy h2{font-family:var(--serif);font-weight:400;font-size:clamp(44px,5.4vw,88px);line-height:.91;letter-spacing:-.05em;margin:20px 0}
.feature-copy p{font-size:15px;line-height:1.65;color:var(--muted);max-width:620px;transition:color .45s var(--ease)}
.feature-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:26px}
.feature-links a,.feature-links span{
  font-size:9px;letter-spacing:.15em;text-transform:uppercase;position:relative;padding-bottom:4px
}
.feature-links span{color:inherit;opacity:.66}
.feature-links a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:currentColor;transition:width .38s var(--ease)}
.feature-links a:hover{opacity:1}
.feature-links a:hover:after{width:100%}

/* ADS */
.ad-shell{padding:58px var(--pad);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper)}
.ad-wrap{max-width:1100px;margin:0 auto;text-align:center}
.ad-label{font-size:8px;letter-spacing:.2em;text-transform:uppercase;color:#96938c;margin-bottom:14px}

/* LATEST */
.latest{padding:80px var(--pad) 110px;border-top:1px solid var(--line)}
.latest-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}
.latest-head h2{font-family:var(--serif);font-weight:400;font-size:clamp(40px,4vw,66px);margin:0}
.latest-row{
  display:grid;grid-template-columns:110px 1fr auto;gap:24px;align-items:center;border-top:1px solid var(--line);padding:17px 12px;
  margin:0 -12px;transition:background .35s var(--ease),color .35s var(--ease),padding-left .35s var(--ease)
}
.latest-row:last-child{border-bottom:1px solid var(--line)}
.latest-row:hover{background:#000;color:#fff;padding-left:22px}
.latest-thumb{width:110px;aspect-ratio:4/3;overflow:hidden;background:#dedbd3}
.latest-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .45s var(--ease)}
.latest-row:hover img{transform:scale(1.04)}
.latest-row h3{font-family:var(--serif);font-size:26px;font-weight:400;letter-spacing:-.02em;margin:0}
.latest-date{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.latest-row:hover .latest-date{color:#bbb9b2}

/* CATEGORY ARCHIVES */
.category-head{padding:105px var(--pad) 60px;background:var(--paper);border-bottom:1px solid var(--line)}
.category-head h1{font-family:var(--serif);font-size:clamp(58px,8.8vw,140px);font-weight:400;letter-spacing:-.055em;line-height:.86;margin:12px 0 28px}
.category-desc{font-size:18px;line-height:1.65;color:var(--muted);max-width:780px}
.topic-nav{display:flex;gap:18px;flex-wrap:wrap;margin-top:32px}
.topic-nav a,.topic-nav span{font-size:9px;letter-spacing:.15em;text-transform:uppercase;position:relative;padding-bottom:5px}
.topic-nav span{opacity:.64}
.topic-nav a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:currentColor;transition:width .38s var(--ease)}
.topic-nav a:hover{color:#000}
.topic-nav a:hover:after{width:100%}
.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:8px var(--pad) 100px}
.archive-card{background:var(--paper);transition:background .4s var(--ease),color .4s var(--ease)}
.archive-card:hover{background:#000;color:#fff}
.archive-media{aspect-ratio:4/3;background:#dedbd3;overflow:hidden}
.archive-media img{width:100%;height:100%;object-fit:cover;transition:transform .55s var(--ease)}
.archive-card:hover img{transform:scale(1.025)}
.archive-copy{padding:20px 18px 30px}
.archive-copy small{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.archive-card:hover small{color:#aaa8a2}
.archive-copy h2{font-family:var(--serif);font-size:31px;line-height:1.03;font-weight:400;margin:9px 0 0}

/* ARTICLE */
.article-head{padding:100px var(--pad) 48px;background:var(--paper)}
.article-head .article-inner{max-width:1440px;margin:0 auto}
.article-head h1{font-family:var(--serif);font-weight:400;font-size:clamp(54px,7.7vw,122px);line-height:.88;letter-spacing:-.057em;margin:13px 0 30px;max-width:1350px}
.article-dek{font-size:20px;line-height:1.58;color:var(--muted);max-width:860px}
.article-meta{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:28px}
.article-cover{width:100%;max-height:900px;object-fit:cover;margin-top:42px}
.article-body{max-width:820px;margin:72px auto 105px;padding:0 20px;font-family:var(--serif);font-size:19px;line-height:1.84}
.article-body h2,.article-body h3{font-family:var(--sans);font-weight:600;letter-spacing:-.04em;line-height:1.07;margin-top:2em}
.article-body h2{font-size:42px}.article-body h3{font-size:29px}
.article-body blockquote{font-size:34px;line-height:1.3;margin:58px -90px}
.article-body figure{margin:52px -120px}
.article-body figcaption{font-family:var(--sans);font-size:10px;color:var(--muted);margin-top:10px}
.article-body a{position:relative;text-decoration:none}
.article-body a:after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1px;background:currentColor;transition:opacity .3s var(--ease)}
.article-body a:hover:after{opacity:.35}
.article-ad{max-width:1000px;margin:60px auto;padding:42px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

/* FOOTER */
.site-footer{background:var(--dark);color:#fff;padding:74px var(--pad) 28px}
.footer-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:80px;margin-bottom:110px}
.footer-logo{font-family:var(--serif);font-size:clamp(62px,9vw,135px);font-weight:400;letter-spacing:-.06em;line-height:.82}
.footer-desc{font-size:13px;line-height:1.6;color:#9b9992;max-width:520px;margin-top:24px}
.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:14px 36px;align-content:start}
.footer-links a{font-family:var(--serif);font-size:18px;position:relative;width:max-content;transition:color .35s var(--ease)}
.footer-links a:after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:1px;background:currentColor;transition:width .38s var(--ease)}
.footer-links a:hover{color:#fff}
.footer-links a:hover:after{width:100%}
.footer-bottom{border-top:1px solid #2b2a27;padding-top:20px;display:flex;justify-content:space-between;color:#6f6d67;font-size:9px;letter-spacing:.13em;text-transform:uppercase}

/* MOBILE MENU */
.mobile-panel{display:none;position:fixed;z-index:120;inset:66px 0 0;background:var(--bg);padding:28px;overflow:auto}
.mobile-panel.open{display:block}
.mobile-panel a{display:block;font-family:var(--serif);font-size:38px;padding:12px 0;border-bottom:1px solid var(--line);transition:padding-left .3s var(--ease),opacity .3s var(--ease)}
.mobile-panel a:hover{padding-left:8px;opacity:.7}
.mobile-panel small{display:block;font-family:var(--sans);font-size:10px;color:var(--muted);margin-top:5px;letter-spacing:.06em}

@media(max-width:1120px){
  .main-nav{display:none}.header-tools{display:none}.menu-toggle{display:block;justify-self:end}
  .header-inner{grid-template-columns:1fr auto}
  .latest-strip{grid-template-columns:90px 1fr 1fr}.latest-strip a:nth-of-type(n+3){display:none}
  .hero-caption{grid-template-columns:1fr 2fr}.hero-side.right{display:none}
  .intro-band{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid .feature{grid-column:1/-1}
  .gallery-grid.culture{grid-template-columns:1fr 1fr}.gallery-grid.culture .g-card:last-child{grid-column:1/-1}
  .feature-band{grid-template-columns:1fr}.feature-band.reverse .feature-media{order:0}
  .feature-copy{min-height:500px}
  .archive-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  :root{--pad:16px}
  .site-header{height:66px}.brand{font-size:18px}
  .hero{min-height:82vh}
  .hero-caption{grid-template-columns:1fr;padding:18px var(--pad) 24px;min-height:170px}
  .hero-caption:hover{min-height:190px;padding:24px var(--pad) 28px}
  .hero-side{font-size:26px}.hero-center{text-align:left}.hero-center .k-label{display:none}
  .hero-title{font-size:43px}.hero-dek{font-size:11px;margin-left:0}
  .latest-strip{grid-template-columns:70px 1fr}.latest-strip a:nth-of-type(n+2){display:none}
  .intro-band{padding:54px var(--pad) 60px}.intro-band h2{font-size:46px}
  .home-section{padding:58px var(--pad) 70px}.home-section-head{display:block}
  .home-section-head p{text-align:left;margin-top:14px}
  .gallery-grid,.gallery-grid.culture{grid-template-columns:1fr}
  .gallery-grid .feature,.gallery-grid.culture .g-card:last-child{grid-column:auto}
  .g-card,.g-card.feature{min-height:460px}.g-card:hover,.g-card.feature:hover{grid-template-rows:1fr 135px}
  .g-panel-side{display:none}.g-panel{grid-template-columns:1fr}
  .feature-band{min-height:auto}.feature-media{min-height:430px}.feature-copy{min-height:430px;padding:35px var(--pad)}
  .feature-copy h2{font-size:50px}
  .latest{padding:55px var(--pad) 80px}.latest-row{grid-template-columns:76px 1fr}.latest-thumb{width:76px}.latest-date{display:none}
  .category-head{padding:82px var(--pad) 45px}.category-head h1{font-size:62px}
  .archive-grid{grid-template-columns:1fr;padding-left:var(--pad);padding-right:var(--pad)}
  .article-head{padding:78px var(--pad) 36px}.article-head h1{font-size:54px}.article-dek{font-size:17px}
  .article-body{font-size:18px;margin-top:50px}.article-body blockquote,.article-body figure{margin-left:0;margin-right:0}
  .footer-grid{grid-template-columns:1fr;margin-bottom:75px}.footer-logo{font-size:66px}.footer-links{margin-top:25px}
}









/* V7 monochrome interaction system */
.home .site-header{color:#fff}
.home .brand,
.home .main-nav a,
.home .header-tools,
.home .lang-link{
  color:#fff;
  text-shadow:0 1px 16px rgba(0,0,0,.24);
}
.home .brand:hover,
.home .main-nav a:hover,
.home .lang-link:hover{color:#fff}

body:not(.home) .brand,
body:not(.home) .main-nav a,
body:not(.home) .lang-link{color:#111}

.clickable-dark:hover{color:#fff}
.clickable-light:hover{color:#000}

/* V8 minimal footer */
.site-footer-minimal{
  background:#0a0a09;
  color:#fff;
  padding:28px var(--pad) 24px;
}
.footer-minimal-inner{
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:44px;
  align-items:center;
  max-width:1680px;
  margin:0 auto;
}
.footer-mini-brand{
  display:flex;
  align-items:baseline;
  gap:14px;
}
.footer-mini-brand strong{
  font-family:var(--sans);
  font-size:15px;
  letter-spacing:-.035em;
}
.footer-mini-brand span{
  font-size:9px;
  color:#81817c;
  letter-spacing:.08em;
}
.footer-mini-nav{
  display:flex;
  gap:20px;
  align-items:center;
}
.footer-mini-nav a{
  position:relative;
  font-family:var(--serif);
  font-size:14px;
  opacity:.72;
  transition:opacity .35s var(--ease);
}
.footer-mini-nav a:after{
  content:"";
  position:absolute;
  left:0;
  bottom:-5px;
  width:0;
  height:1px;
  background:#fff;
  transition:width .38s var(--ease);
}
.footer-mini-nav a:hover{
  opacity:1;
}
.footer-mini-nav a:hover:after{
  width:100%;
}
.footer-mini-tools{
  display:flex;
  align-items:center;
  gap:22px;
  color:#777771;
  font-size:9px;
  letter-spacing:.09em;
}
.footer-mini-tools .language-switcher{
  gap:10px;
}
.footer-mini-tools .lang-link{
  color:#aaa9a3;
  font-size:11px;
}

@media(max-width:1050px){
  .footer-minimal-inner{
    grid-template-columns:1fr auto;
  }
  .footer-mini-nav{
    display:none;
  }
}
@media(max-width:680px){
  .footer-minimal-inner{
    grid-template-columns:1fr;
    gap:18px;
  }
  .footer-mini-tools{
    justify-content:space-between;
  }
}


/* =========================================================
   V9 SEARCH
   ========================================================= */
.header-tools{display:flex;align-items:center}
.search-toggle{
  border:0;background:transparent;color:inherit;padding:0 0 4px;
  font-family:var(--serif);font-size:13px;position:relative;cursor:pointer;
  opacity:.72;transition:opacity .35s var(--ease)
}
.search-toggle:after{
  content:"";position:absolute;left:0;bottom:0;width:0;height:1px;
  background:currentColor;transition:width .38s var(--ease)
}
.search-toggle:hover{opacity:1}.search-toggle:hover:after{width:100%}
.search-overlay{
  position:fixed;z-index:500;inset:0;background:rgba(251,250,247,.985);
  opacity:0;visibility:hidden;transition:opacity .42s var(--ease),visibility .42s;
  display:flex;align-items:center;justify-content:center;padding:30px
}
.search-overlay.open{opacity:1;visibility:visible}
.search-close{
  position:absolute;top:26px;right:28px;border:0;background:transparent;
  font-family:var(--serif);font-size:16px;cursor:pointer
}
.search-overlay-form{width:min(100%,1080px)}
.search-overlay-label{display:block;font-size:9px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:20px}
.search-input-row{display:grid;grid-template-columns:1fr auto;border-bottom:1px solid #111}
.search-input-row input{
  border:0;background:transparent;outline:none;padding:12px 0 18px;
  font-family:var(--serif);font-size:clamp(38px,5.6vw,88px);letter-spacing:-.04em;color:#111;width:100%
}
.search-input-row input::placeholder{color:#b6b3ab}
.search-input-row button{border:0;background:transparent;font-size:44px;cursor:pointer;padding:0 4px 10px 25px}
.mobile-search-trigger{
  width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);
  background:transparent;padding:13px 0;font-family:var(--serif);font-size:28px
}

/* =========================================================
   V9 CATEGORY — ASYMMETRIC EDITORIAL LAYOUT
   ========================================================= */
.category-editorial{
  display:grid;grid-template-columns:repeat(12,1fr);gap:8px;
  padding:8px var(--pad) 110px;background:var(--bg)
}
.category-story{grid-column:span 4;background:var(--paper)}
.category-story-lead{grid-column:span 8;grid-row:span 2}
.category-story-wide{grid-column:span 8}
.category-story a{display:block;height:100%;transition:background .4s var(--ease),color .4s var(--ease)}
.category-story a:hover{background:#000;color:#fff}
.category-story-media{aspect-ratio:4/3;overflow:hidden;background:#dedbd3}
.category-story-lead .category-story-media{aspect-ratio:16/10}
.category-story-wide .category-story-media{aspect-ratio:16/8}
.category-story-media img{width:100%;height:100%;object-fit:cover;transition:transform .55s var(--ease)}
.category-story a:hover img{transform:scale(1.018)}
.category-story-copy{padding:18px 18px 28px}
.category-story-copy small{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.category-story a:hover small{color:#aaa}
.category-story-copy h2{
  font-family:var(--serif);font-size:30px;line-height:1.02;font-weight:400;
  letter-spacing:-.035em;margin:8px 0 0
}
.category-story-lead .category-story-copy h2{font-size:clamp(42px,5vw,78px)}
.category-story-wide .category-story-copy h2{font-size:42px}
.category-story-copy p{font-size:13px;line-height:1.6;color:var(--muted);max-width:680px}
.category-story a:hover p{color:#bbb}
.category-empty{grid-column:1/-1;padding:100px 0;font-family:var(--serif);font-size:42px}

/* =========================================================
   V9 ARTICLE DETAIL
   ========================================================= */
.story-hero{background:var(--paper);padding-top:95px}
.story-hero-copy{padding:0 var(--pad) 48px;max-width:1500px;margin:0 auto}
.story-hero h1{
  font-family:var(--serif);font-size:clamp(54px,7.8vw,126px);
  line-height:.88;letter-spacing:-.058em;font-weight:400;
  max-width:1400px;margin:13px 0 28px
}
.story-dek{font-size:19px;line-height:1.6;color:var(--muted);max-width:850px}
.story-meta{margin-top:28px;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.translation-note{
  display:inline-block;margin-top:24px;padding:10px 14px;border:1px solid var(--line);
  font-size:11px;color:var(--muted)
}
.story-cover{width:100%;max-height:900px;overflow:hidden}
.story-cover img{width:100%;height:100%;max-height:900px;object-fit:cover}
.story-rail{display:grid;grid-template-columns:minmax(90px,1fr) minmax(0,820px) minmax(90px,1fr);padding:0 var(--pad)}
.story-side{
  grid-column:1;align-self:start;position:sticky;top:105px;padding-top:76px;
  display:flex;flex-direction:column;gap:8px;font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:#98968f
}
.story-rail .article-body{grid-column:2;margin:72px 0 105px;padding:0}
.article-body > p:first-of-type:first-letter{
  float:left;font-family:var(--serif);font-size:82px;line-height:.75;padding-right:10px;padding-top:8px
}
.article-body figure{margin:58px -150px}
.article-body .wp-block-image img{width:100%;height:auto}
.article-body .wp-block-gallery{margin:55px -180px;gap:8px}
.article-body .wp-block-gallery img{width:100%;height:100%;object-fit:cover}
.article-body .wp-block-quote{
  border:0;padding:0;font-family:var(--serif);font-size:34px;line-height:1.3
}
.article-body .wp-block-table{margin:42px 0;font-family:var(--sans);font-size:13px}
.article-body .wp-block-table table{border-collapse:collapse;width:100%}
.article-body .wp-block-table td,.article-body .wp-block-table th{padding:12px;border-bottom:1px solid var(--line);border-left:0;border-right:0}
.article-body .wp-block-separator{border:0;border-top:1px solid var(--line);margin:50px 0}

/* Related */
.related-stories{padding:78px var(--pad) 95px;border-top:1px solid var(--line)}
.related-head h2{font-family:var(--serif);font-size:48px;font-weight:400;margin:0 0 30px}
.related-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:8px}
.related-card{background:var(--paper);transition:background .4s var(--ease),color .4s var(--ease)}
.related-card:hover{background:#000;color:#fff}
.related-media{aspect-ratio:4/3;overflow:hidden;background:#ddd}
.related-card:first-child .related-media{aspect-ratio:4/3}
.related-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.related-card:hover img{transform:scale(1.02)}
.related-copy{padding:18px 18px 28px}
.related-copy small{font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.related-card:hover small{color:#aaa}
.related-copy h3{font-family:var(--serif);font-size:30px;line-height:1.03;font-weight:400;margin:8px 0 0}

/* Story navigation */
.story-nav{
  display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);
  background:var(--paper)
}
.story-nav > div{padding:30px var(--pad);font-family:var(--serif);font-size:18px}
.story-nav-next{text-align:right;border-left:1px solid var(--line)}
.story-nav a{position:relative}
.story-nav a:after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:1px;background:currentColor;transition:width .35s var(--ease)}
.story-nav a:hover:after{width:100%}

/* =========================================================
   V9 SEARCH RESULTS
   ========================================================= */
.search-results-head{padding:105px var(--pad) 55px;background:var(--paper);border-bottom:1px solid var(--line)}
.search-results-head h1{font-family:var(--serif);font-size:clamp(48px,7vw,110px);font-weight:400;letter-spacing:-.05em;margin:12px 0 0}
.search-results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:8px var(--pad) 100px}
.search-result-card{background:var(--paper)}
.search-result-card a{display:block;height:100%;transition:background .4s var(--ease),color .4s var(--ease)}
.search-result-card a:hover{background:#000;color:#fff}
.search-result-media{aspect-ratio:4/3;overflow:hidden;background:#ddd}
.search-result-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.search-result-card a:hover img{transform:scale(1.02)}
.search-result-copy{padding:18px 18px 30px}
.search-result-copy small{font-size:8px;color:var(--muted)}
.search-result-copy h2{font-family:var(--serif);font-size:31px;font-weight:400;line-height:1.02;margin:9px 0}
.search-result-copy p{font-size:12px;line-height:1.55;color:var(--muted)}
.search-result-card a:hover small,.search-result-card a:hover p{color:#aaa}
.search-no-results{grid-column:1/-1;padding:100px 0}
.search-no-results h2{font-family:var(--serif);font-size:50px;font-weight:400;margin:0 0 12px}

@media(max-width:1050px){
  .category-story,.category-story-lead,.category-story-wide{grid-column:span 6}
  .category-story-lead{grid-column:1/-1}
  .story-rail{grid-template-columns:1fr minmax(0,820px) 1fr}
  .story-side{display:none}
  .related-grid{grid-template-columns:1fr 1fr}
  .related-grid .related-card:first-child{grid-column:1/-1}
  .search-results-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .search-toggle{display:none}
  .search-input-row input{font-size:42px}
  .category-editorial{grid-template-columns:1fr}
  .category-story,.category-story-lead,.category-story-wide{grid-column:1}
  .category-story-lead .category-story-media,.category-story-wide .category-story-media{aspect-ratio:4/3}
  .category-story-lead .category-story-copy h2,.category-story-wide .category-story-copy h2{font-size:34px}
  .story-hero{padding-top:75px}
  .story-hero h1{font-size:55px}
  .story-dek{font-size:16px}
  .story-rail{display:block;padding:0 var(--pad)}
  .story-rail .article-body{margin-top:50px}
  .article-body figure,.article-body .wp-block-gallery{margin-left:0;margin-right:0}
  .related-grid{grid-template-columns:1fr}
  .related-grid .related-card:first-child{grid-column:auto}
  .story-nav{grid-template-columns:1fr}
  .story-nav-next{border-left:0;border-top:1px solid var(--line);text-align:left}
  .search-results-grid{grid-template-columns:1fr}
}


/* =========================================================
   V10 EXPLORE KOREA — EXPANDING EDITORIAL PANELS
   Image + white type -> hover expands and reveals white panel + black type
   ========================================================= */
.explore-korea{
  padding:88px var(--pad) 105px;
  border-top:1px solid var(--line);
  background:var(--bg);
}
.explore-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:36px;
  margin-bottom:34px;
}
.explore-head h2{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(44px,5vw,76px);
  line-height:.95;
  letter-spacing:-.045em;
  margin:9px 0 0;
}
.explore-head p{
  margin:0;
  max-width:600px;
  font-size:13px;
  line-height:1.6;
  color:var(--muted);
  text-align:right;
}

.explore-panels{
  display:flex;
  gap:6px;
  height:680px;
  overflow:hidden;
}
.explore-panel{
  position:relative;
  flex:1 1 0;
  min-width:0;
  overflow:hidden;
  background:#ddd;
  transition:flex .72s var(--ease);
}
.explore-panel:nth-child(1){flex:1.18}
.explore-panel:nth-child(2){flex:.92}
.explore-panel:nth-child(3){flex:1.04}
.explore-panel:nth-child(4){flex:.86}
.explore-panel:nth-child(5){flex:1}

.explore-panels:hover .explore-panel{
  flex:.72 1 0;
}
.explore-panels .explore-panel:hover{
  flex:2.8 1 0;
}

.explore-media{
  position:absolute;
  inset:0;
  overflow:hidden;
}
.explore-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .85s var(--ease),filter .55s var(--ease);
}
.explore-panel:hover .explore-media img{
  transform:scale(1.025);
}
.explore-placeholder{
  position:absolute;
  inset:0;
  background:
    linear-gradient(145deg,#cfcac2 0%,#e8e4dd 52%,#bfbab2 100%);
}
.explore-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.02) 30%,rgba(0,0,0,.62) 100%);
  transition:opacity .45s var(--ease);
}
.explore-overlay{
  position:absolute;
  z-index:3;
  left:22px;
  right:22px;
  bottom:24px;
  color:#fff;
  transition:opacity .3s var(--ease),transform .45s var(--ease);
}
.explore-index{
  font-size:9px;
  letter-spacing:.16em;
  margin-bottom:8px;
}
.explore-name{
  font-family:var(--serif);
  font-size:clamp(28px,2.4vw,42px);
  line-height:.98;
  letter-spacing:-.03em;
}
.explore-panel:hover .explore-overlay{
  opacity:0;
  transform:translateY(-10px);
}

/* white editorial reveal */
.explore-reveal{
  position:absolute;
  z-index:4;
  left:0;
  right:0;
  bottom:0;
  height:0;
  overflow:hidden;
  background:#fff;
  color:#000;
  padding:0 28px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  transition:height .62s var(--ease),padding .62s var(--ease);
}
.explore-panel:hover .explore-reveal{
  height:52%;
  padding:24px 28px 28px;
}
.explore-reveal-top{
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:9px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.explore-reveal-main{
  max-width:620px;
}
.explore-latest-label{
  font-size:9px;
  letter-spacing:.15em;
  text-transform:uppercase;
  margin-bottom:10px;
}
.explore-reveal-main h3{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(34px,3.6vw,58px);
  line-height:.98;
  letter-spacing:-.04em;
  margin:0 0 16px;
}
.explore-reveal-main p{
  font-size:13px;
  line-height:1.58;
  color:#666;
  max-width:540px;
  margin:0;
}
.explore-reveal-bottom{
  display:flex;
  justify-content:space-between;
  gap:24px;
  font-size:9px;
  letter-spacing:.08em;
  color:#555;
}
.explore-reveal-bottom span:last-child{
  color:#000;
  white-space:nowrap;
}

/* Keep the first visual state distinctly white-on-image */
.explore-panel:not(:hover) .explore-name,
.explore-panel:not(:hover) .explore-index{
  color:#fff;
}

/* smoother dimming of non-hovered siblings */
.explore-panels:hover .explore-panel:not(:hover) .explore-media img{
  filter:brightness(.76);
}
.explore-panels:hover .explore-panel:not(:hover) .explore-shade{
  opacity:.86;
}

@media(max-width:1100px){
  .explore-panels{
    height:600px;
  }
  .explore-panels .explore-panel:hover{
    flex:2.25 1 0;
  }
}
@media(max-width:760px){
  .explore-head{
    display:block;
  }
  .explore-head p{
    text-align:left;
    margin-top:14px;
  }
  .explore-panels{
    display:grid;
    grid-template-columns:1fr;
    height:auto;
    gap:8px;
    overflow:visible;
  }
  .explore-panel,
  .explore-panel:nth-child(n){
    height:420px;
    flex:none;
  }
  .explore-panels:hover .explore-panel,
  .explore-panels .explore-panel:hover{
    flex:none;
  }
  .explore-reveal{
    height:145px;
    padding:20px;
  }
  .explore-panel:hover .explore-reveal{
    height:165px;
    padding:20px;
  }
  .explore-overlay{
    bottom:170px;
  }
  .explore-reveal-main h3{
    font-size:32px;
  }
  .explore-reveal-bottom{
    display:none;
  }
}

/* =========================================================
   V10 MONOCHROME HOVER CONSISTENCY
   clickable white surfaces -> black on hover
   image surfaces -> white text by default
   image reveal surfaces -> white panel + black text
   ========================================================= */
.category-story a,
.search-result-card a,
.related-card,
.latest-row,
.latest-strip a{
  transition:
    background .42s var(--ease),
    color .42s var(--ease),
    opacity .42s var(--ease);
}
.category-story a:hover,
.search-result-card a:hover,
.related-card:hover,
.latest-row:hover,
.latest-strip a:hover{
  background:#000;
  color:#fff;
}


/* =========================================================
   V11 MULTILINGUAL TYPOGRAPHY
   ========================================================= */
.koz-lang-ja{
  --ui-font:"Noto Sans JP","Noto Sans",sans-serif;
}
.koz-lang-zh-cn{
  --ui-font:"Noto Sans SC","Noto Sans",sans-serif;
}
.koz-lang-en{
  --ui-font:"Noto Sans","Noto Sans KR",sans-serif;
}

/* UI, navigation and body copy use one clean multilingual family */
.main-nav,
.header-tools,
.language-switcher,
.search-toggle,
.mobile-panel,
.latest-strip,
.home-section-head p,
.intro-band p,
.explore-reveal,
.category-desc,
.category-story-copy,
.story-dek,
.story-meta,
.article-body,
.related-copy,
.search-result-copy,
.footer-mini-nav,
.footer-mini-tools,
.footer-mini-brand{
  font-family:var(--ui-font);
}

/* Large editorial headlines stay serif */
.hero-title,
.hero-side,
.home-section-head h2,
.intro-band h2,
.g-title,
.explore-head h2,
.explore-name,
.explore-reveal-main h3,
.category-head h1,
.category-story-copy h2,
.story-hero h1,
.related-head h2,
.related-copy h3,
.search-results-head h1{
  font-family:var(--serif);
}

/* Article reading body: sans for cross-language consistency */
.article-body{
  font-family:var(--ui-font);
  font-size:18px;
  line-height:1.86;
  letter-spacing:-.01em;
}
.article-body h2,
.article-body h3{
  font-family:var(--ui-font);
}
.article-body > p:first-of-type:first-letter{
  font-family:var(--serif);
}

/* Main navigation: compact sans, less "gallery imitation", more KOZUMIN */
.main-nav a{
  font-family:var(--ui-font);
  font-size:13px;
  font-weight:500;
  letter-spacing:.01em;
}

/* =========================================================
   V11 HEADER UTILITY CLUSTER
   ========================================================= */
.header-tools{
  justify-self:end;
}
.utility-cluster{
  display:flex;
  align-items:center;
  gap:14px;
  min-height:30px;
}
.header-languages{
  gap:12px;
}
.header-languages .lang-link{
  font-family:var(--ui-font);
  font-size:11px;
  font-weight:500;
  line-height:1;
  opacity:.62;
}
.header-languages .lang-link.is-active{
  opacity:1;
}
.utility-divider{
  width:1px;
  height:14px;
  background:currentColor;
  opacity:.28;
}
.search-toggle{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:0;
  background:transparent;
  color:inherit;
  padding:2px 0 4px;
  font-family:var(--ui-font);
  font-size:11px;
  font-weight:500;
  line-height:1;
  opacity:.62;
  cursor:pointer;
  position:relative;
  transition:opacity .35s var(--ease);
}
.search-toggle:hover{
  opacity:1;
}
.search-icon{
  width:13px;
  height:13px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
}
.search-toggle:after{
  bottom:-2px;
}
.home .utility-cluster{
  color:#fff;
}
body:not(.home) .utility-cluster{
  color:#111;
}

/* Footer slightly larger, still minimal */
.footer-mini-nav{
  gap:22px;
}
.footer-mini-nav a{
  font-family:var(--ui-font);
  font-size:15.5px;
  font-weight:500;
  letter-spacing:-.01em;
}
.footer-mini-brand strong{
  font-family:var(--ui-font);
  font-size:16px;
  font-weight:600;
}
.footer-mini-brand span{
  font-family:var(--ui-font);
  font-size:9.5px;
}
.footer-mini-tools{
  font-family:var(--ui-font);
}
.footer-mini-tools .lang-link{
  font-family:var(--ui-font);
  font-size:11.5px;
}

/* Search overlay typography follows current language */
.search-overlay-label,
.search-overlay-form,
.search-input-row input{
  font-family:var(--ui-font);
}
.search-input-row input{
  font-weight:400;
}

@media(max-width:1120px){
  .header-tools{
    display:none;
  }
}




/* V13 — clean borderless editorial hover panels */
.g-panel,
.g-card:hover .g-panel,
.explore-reveal,
.explore-panel:hover .explore-reveal{
  border:0 !important;
  box-shadow:none !important;
}


/* =========================================================
   V14 — clean full-bleed media placeholders + remove 1px seams
   ========================================================= */

/* Empty media is one full block: no small inner rectangle. */
.g-card .empty-art:after,
.explore-placeholder:after{
  content:none !important;
  display:none !important;
}

/* Full-bleed fallback media, matching eventual featured-image behavior. */
.g-card .empty-art,
.explore-placeholder{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:linear-gradient(145deg,#d9d6cf 0%,#e8e5de 56%,#c9c5bd 100%);
}

/* Real featured images always cover the entire visual block. */
.g-media img,
.explore-media img,
.category-story-media img,
.related-media img,
.search-result-media img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center;
}

/* Remove browser/subpixel seams between image and white reveal panel. */
.g-media,
.g-panel,
.explore-media,
.explore-reveal{
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
}

.g-panel{
  position:relative;
  margin-top:-1px;
}

.explore-reveal{
  margin-bottom:-1px;
}

/* Cover any remaining 1px raster seam with the white panel itself. */
.g-card:hover .g-panel:before,
.explore-panel:hover .explore-reveal:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-2px;
  height:3px;
  background:#fff;
  pointer-events:none;
}


/* =========================================================
   V16 FINAL POLISH
   ========================================================= */
.home .brand,
.home .main-nav a,
.home .header-tools,
.home .lang-link,
.home .search-toggle{
  color:#fff !important;
  opacity:.92;
  text-shadow:0 1px 18px rgba(0,0,0,.36);
}
.home .main-nav a:hover,
.home .lang-link:hover,
.home .search-toggle:hover,
.home .brand:hover{opacity:1}

.hero-caption{bottom:2.4vh}
.hero-center{transform:translateY(-1.5vh)}
.hero-fallback{
  background:
    radial-gradient(circle at 68% 28%,rgba(255,255,255,.10),transparent 26%),
    radial-gradient(circle at 18% 82%,rgba(255,255,255,.035),transparent 22%),
    linear-gradient(145deg,#20211e 0%,#5a5d55 44%,#20211f 100%);
}

/* Editor's Picks */
.editors-section .gallery-grid{grid-template-columns:1.7fr 1fr 1fr}
.editors-section .g-card{min-height:445px;grid-template-rows:1fr 0}
.editors-section .g-card.feature{min-height:540px;grid-template-rows:1fr 0}
.editors-section .g-card:hover{grid-template-rows:1fr 125px}
.editors-section .g-card.feature:hover{grid-template-rows:1fr 145px}
.editors-section .g-overlay{opacity:1}
.editors-section .g-card:hover .g-overlay{opacity:0}

/* Latest */
.latest{padding-top:68px;padding-bottom:84px}
.latest-head{margin-bottom:22px}

/* Footer */
.footer-mini-nav a{font-size:16.5px}
.footer-mini-tools{gap:26px}
.footer-mini-tools .language-switcher{gap:12px}
.footer-mini-tools .lang-link{font-size:12px}
.footer-mini-brand strong{font-size:16.5px}

/* Quiet empty media */
.g-card .empty-art,
.explore-placeholder{
  background:linear-gradient(145deg,#d7d3cc 0%,#e8e5de 58%,#c9c5bd 100%);
}

@media(max-width:1050px){
  .editors-section .gallery-grid{grid-template-columns:1fr 1fr}
  .editors-section .g-card.feature{grid-column:1/-1}
}
@media(max-width:680px){
  .hero-caption{bottom:0}
  .hero-center{transform:none}
  .editors-section .gallery-grid{grid-template-columns:1fr}
  .editors-section .g-card.feature{grid-column:auto}
  .editors-section .g-card,
  .editors-section .g-card.feature{min-height:430px}
}


/* =========================================================
   V17 CATEGORY PAGE SCALE REFINEMENT
   ========================================================= */
.category-head{
  padding-top:86px;
  padding-bottom:58px;
}
.category-head h1{
  font-size:clamp(58px,6.2vw,102px) !important;
  line-height:.92;
  letter-spacing:-.052em;
  max-width:1250px;
}
.category-desc{
  font-size:17px;
  margin-top:25px;
}
.topic-nav{
  margin-top:34px;
}
.category-empty{
  padding:78px 0 110px !important;
  font-size:30px !important;
  line-height:1.2;
  color:#2a2a28;
}

@media(max-width:680px){
  .category-head{
    padding-top:72px;
    padding-bottom:46px;
  }
  .category-head h1{
    font-size:52px !important;
  }
  .category-desc{
    font-size:15px;
  }
  .category-empty{
    font-size:25px !important;
    padding-top:56px !important;
  }
}


/* =========================================================
   V18 — CATEGORY / ARTICLE SCALE + STICKY HEADER
   ========================================================= */

/* Interior pages: keep navigation available without looking like an app bar. */
body:not(.home) .site-header{
  position:sticky !important;
  top:0;
  z-index:220;
  background:rgba(248,247,243,.94);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(11,11,10,.10);
}

/* When WordPress admin bar is visible, keep the sticky header below it. */
body.admin-bar:not(.home) .site-header{
  top:32px;
}

/* Category intro: editorial, but no longer poster-scale. */
.category-head{
  padding-top:78px !important;
  padding-bottom:52px !important;
}
.category-head h1{
  font-size:clamp(52px,5.4vw,88px) !important;
  line-height:.94 !important;
  letter-spacing:-.048em !important;
  max-width:1100px;
  margin-bottom:24px !important;
}
.category-desc{
  font-size:16px !important;
  line-height:1.6;
  max-width:720px;
}
.topic-nav{
  margin-top:28px !important;
}

/* Category article cards: reduce oversized first-story typography. */
.category-story-copy{
  padding:17px 18px 25px !important;
}
.category-story-copy h2{
  font-size:27px !important;
  line-height:1.06 !important;
}
.category-story-lead .category-story-copy h2{
  font-size:clamp(36px,3.8vw,58px) !important;
  line-height:1 !important;
  max-width:920px;
}
.category-story-wide .category-story-copy h2{
  font-size:36px !important;
}

/* The large first card should still feel important, but not consume a full screen. */
.category-story-lead .category-story-media{
  aspect-ratio:16/8.7 !important;
}

/* Story detail headline: still magazine-like, but more readable. */
.story-hero h1{
  font-size:clamp(48px,6.1vw,96px) !important;
  line-height:.94 !important;
  max-width:1220px;
}
.story-dek{
  font-size:18px !important;
  max-width:820px;
}

/* Header interior sizing slightly cleaner. */
body:not(.home) .site-header{
  height:64px;
}
body:not(.home) .main-nav a{
  padding-top:22px;
  padding-bottom:22px;
}
body:not(.home) .brand{
  font-size:19px;
}

@media(max-width:782px){
  body.admin-bar:not(.home) .site-header{
    top:46px;
  }
}

@media(max-width:680px){
  .category-head{
    padding-top:56px !important;
    padding-bottom:42px !important;
  }
  .category-head h1{
    font-size:46px !important;
  }
  .category-story-lead .category-story-copy h2{
    font-size:34px !important;
  }
  .story-hero h1{
    font-size:48px !important;
  }
}


/* =========================================================
   V19 — MOBILE-FIRST REFINEMENT
   ========================================================= */

/* Tablet */
@media (max-width:900px){
  :root{--pad:22px}

  .site-header{
    min-height:58px;
  }

  .brand{
    font-size:18px !important;
  }

  .brand small{
    font-size:6px;
    letter-spacing:.22em;
  }

  .category-head h1{
    font-size:clamp(44px,8vw,66px) !important;
  }

  .story-hero h1{
    font-size:clamp(44px,8vw,70px) !important;
  }

  .story-dek{
    font-size:17px !important;
  }

  .article-body{
    font-size:17px;
    line-height:1.82;
  }
}

/* Phones */
@media (max-width:680px){
  :root{--pad:17px}

  body{
    overflow-x:hidden;
  }

  /* Header: compact, thumb-friendly */
  .site-header,
  body:not(.home) .site-header{
    height:56px !important;
    min-height:56px;
  }

  .header-inner{
    padding-left:17px;
    padding-right:17px;
  }

  .brand{
    font-size:17px !important;
  }

  .menu-toggle{
    font-family:var(--ui-font);
    font-size:12px;
    min-width:44px;
    min-height:44px;
  }

  .mobile-panel{
    padding:72px 18px 28px;
  }

  .mobile-panel > a{
    font-family:var(--ui-font);
    font-size:27px;
    line-height:1.12;
    padding:14px 0;
  }

  .mobile-language-row .lang-link{
    font-size:13px;
  }

  /* Home hero */
  .hero{
    min-height:78svh;
  }

  .hero-caption{
    padding-left:17px;
    padding-right:17px;
    padding-bottom:24px;
  }

  .hero-title{
    font-size:clamp(46px,14vw,68px) !important;
    line-height:.92;
  }

  .hero-side{
    font-size:25px !important;
  }

  .hero-center .k-label{
    font-size:8px;
  }

  /* Section headings */
  .home-section-head h2,
  .explore-head h2,
  .latest-head h2{
    font-size:clamp(39px,11vw,52px) !important;
    line-height:.96;
  }

  .home-section-head p,
  .explore-head p{
    font-size:13px;
    line-height:1.55;
  }

  /* Category landing */
  .category-head{
    padding:48px 17px 38px !important;
  }

  .category-head h1{
    font-size:44px !important;
    line-height:.96 !important;
    margin-bottom:19px !important;
  }

  .category-desc{
    font-size:15px !important;
    line-height:1.55;
  }

  .topic-nav{
    display:flex;
    gap:14px;
    overflow-x:auto;
    white-space:nowrap;
    padding-bottom:5px;
    scrollbar-width:none;
  }
  .topic-nav::-webkit-scrollbar{display:none}

  .topic-nav span{
    font-size:8px;
  }

  /* Category cards */
  .category-editorial{
    padding-left:17px;
    padding-right:17px;
    gap:10px;
  }

  .category-story-copy{
    padding:15px 14px 21px !important;
  }

  .category-story-copy h2,
  .category-story-lead .category-story-copy h2,
  .category-story-wide .category-story-copy h2{
    font-size:29px !important;
    line-height:1.03 !important;
  }

  .category-story-copy p{
    font-size:13px;
    line-height:1.55;
  }

  /* Article detail */
  .story-hero{
    padding-top:56px;
  }

  .story-hero-copy{
    padding:0 17px 32px;
  }

  .story-hero h1{
    font-size:43px !important;
    line-height:.98 !important;
    letter-spacing:-.045em !important;
    margin-top:10px;
    margin-bottom:20px;
  }

  .story-dek{
    font-size:16px !important;
    line-height:1.62;
  }

  .story-meta{
    font-size:8px;
    margin-top:20px;
  }

  .story-cover{
    max-height:none;
  }

  .story-cover img{
    max-height:none;
    aspect-ratio:4/3;
    object-fit:cover;
  }

  .story-rail{
    padding:0 17px;
  }

  .story-rail .article-body{
    margin:42px 0 68px;
  }

  .article-body{
    font-size:16.5px;
    line-height:1.82;
    letter-spacing:-.012em;
  }

  .article-body h2{
    font-size:27px;
    line-height:1.25;
    margin-top:46px;
  }

  .article-body h3{
    font-size:21px;
    line-height:1.3;
    margin-top:38px;
  }

  .article-body > p:first-of-type:first-letter{
    font-size:62px;
  }

  .article-body figure,
  .article-body .wp-block-gallery{
    margin:34px -17px;
  }

  .article-body .wp-block-quote{
    font-size:25px;
    line-height:1.35;
  }

  /* Explore panels: no hover dependency on touch devices */
  .explore-panels{
    display:block !important;
  }

  .explore-panel,
  .explore-panel:nth-child(n){
    display:block;
    height:auto !important;
    margin-bottom:10px;
    background:#fff;
  }

  .explore-media{
    position:relative;
    height:280px;
  }

  .explore-overlay{
    bottom:18px;
  }

  .explore-name{
    font-size:31px !important;
  }

  .explore-reveal,
  .explore-panel:hover .explore-reveal{
    position:relative;
    height:auto !important;
    padding:18px 17px 20px !important;
    overflow:visible;
  }

  .explore-reveal-top{
    font-size:8px;
  }

  .explore-reveal-main{
    margin:24px 0 8px;
  }

  .explore-reveal-main h3{
    font-size:30px !important;
  }

  .explore-reveal-main p{
    font-size:13px;
  }

  .explore-panel:not(:hover) .explore-overlay{
    opacity:1;
  }

  /* Footer */
  .site-footer-minimal{
    padding:24px 17px 20px;
  }

  .footer-mini-brand{
    display:block;
  }

  .footer-mini-brand strong{
    font-size:15px;
  }

  .footer-mini-brand span{
    display:block;
    margin-top:5px;
  }

  .footer-mini-tools{
    font-size:9px;
  }

  /* Search */
  .search-overlay{
    padding:18px;
  }

  .search-overlay-label{
    font-size:8px;
  }

  .search-input-row input{
    font-size:34px !important;
    line-height:1.1;
  }

  .search-input-row button{
    font-size:30px;
    padding-left:12px;
  }
}

/* Very small phones */
@media (max-width:390px){
  .hero-title{font-size:43px !important}
  .category-head h1{font-size:40px !important}
  .story-hero h1{font-size:38px !important}
  .article-body{font-size:16px}
}


/* =========================================================
   V20 — SMART HERO HEADER CONTRAST
   Logo / center navigation / utility controls can independently
   switch between white and black according to the image beneath.
   ========================================================= */
.home .brand.smart-dark,
.home .main-nav.smart-dark a,
.home .header-tools.smart-dark,
.home .header-tools.smart-dark .lang-link,
.home .header-tools.smart-dark .search-toggle{
  color:#111 !important;
  text-shadow:0 1px 10px rgba(255,255,255,.26) !important;
}

.home .brand.smart-light,
.home .main-nav.smart-light a,
.home .header-tools.smart-light,
.home .header-tools.smart-light .lang-link,
.home .header-tools.smart-light .search-toggle{
  color:#fff !important;
  text-shadow:0 1px 14px rgba(0,0,0,.36) !important;
}

/* smooth switching when a hero image loads or viewport changes */
.home .brand,
.home .main-nav,
.home .main-nav a,
.home .header-tools,
.home .header-tools .lang-link,
.home .header-tools .search-toggle{
  transition:color .32s ease, text-shadow .32s ease, opacity .32s ease;
}

/* Fallback if pixel sampling is unavailable: keep each control legible */
.home .site-header.smart-contrast-fallback .brand,
.home .site-header.smart-contrast-fallback .main-nav a,
.home .site-header.smart-contrast-fallback .header-tools{
  text-shadow:
    0 1px 2px rgba(0,0,0,.48),
    0 0 14px rgba(0,0,0,.22);
}


/* =========================================================
   V22 — HERO HEADER LEGIBILITY
   Stable luxury/editorial treatment:
   white header controls + subtle dark top scrim on home hero.
   ========================================================= */

.home .site-header{
  position:absolute;
  top:0;
  left:0;
  right:0;
  z-index:230;
  background:transparent !important;
  border-bottom:0 !important;
  isolation:isolate;
}

/* Very subtle image-preserving contrast layer */
.home .site-header::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:0;
  right:0;
  top:0;
  height:105px;
  pointer-events:none;
  background:linear-gradient(
    to bottom,
    rgba(0,0,0,.38) 0%,
    rgba(0,0,0,.20) 43%,
    rgba(0,0,0,.07) 72%,
    rgba(0,0,0,0) 100%
  );
}

/* One coherent header color on photography */
.home .brand,
.home .brand.smart-dark,
.home .brand.smart-light,
.home .main-nav,
.home .main-nav.smart-dark,
.home .main-nav.smart-light,
.home .main-nav a,
.home .main-nav.smart-dark a,
.home .main-nav.smart-light a,
.home .header-tools,
.home .header-tools.smart-dark,
.home .header-tools.smart-light,
.home .header-tools .lang-link,
.home .header-tools.smart-dark .lang-link,
.home .header-tools.smart-light .lang-link,
.home .header-tools .search-toggle,
.home .header-tools.smart-dark .search-toggle,
.home .header-tools.smart-light .search-toggle{
  color:#fff !important;
  opacity:.96 !important;
  text-shadow:0 1px 5px rgba(0,0,0,.34) !important;
}

/* Active language underline also stays white */
.home .header-languages .lang-link.is-active::after{
  background:#fff !important;
}

.home .main-nav a:hover,
.home .header-tools .lang-link:hover,
.home .header-tools .search-toggle:hover,
.home .brand:hover{
  opacity:1 !important;
}

/* Mobile hero header gets a slightly stronger compact scrim */
@media(max-width:680px){
  .home .site-header::before{
    height:88px;
    background:linear-gradient(
      to bottom,
      rgba(0,0,0,.46) 0%,
      rgba(0,0,0,.20) 55%,
      rgba(0,0,0,0) 100%
    );
  }
}


/* =========================================================
   V23 — LATEST STORIES REFINED HOVER
   No lateral movement. High readability + restrained motion.
   ========================================================= */

/* Lock row geometry so hover never shifts text or image */
.latest-row{
  padding-left:12px !important;
  padding-right:12px !important;
  transform:none !important;
  transition:
    background-color .38s ease,
    color .38s ease !important;
}

.latest-row:hover{
  padding-left:12px !important;
  padding-right:12px !important;
  transform:none !important;
}

/* Image may breathe very slightly, but its frame never moves */
.latest-row img{
  transform:scale(1);
  transform-origin:center center;
  transition:transform .48s cubic-bezier(.22,.61,.36,1);
}

.latest-row:hover img{
  transform:scale(1.025);
}

/* Keep typography stable and legible */
.latest-row .latest-title,
.latest-row time,
.latest-row small{
  transform:none !important;
  transition:color .38s ease, opacity .38s ease;
}

.latest-row:hover .latest-title,
.latest-row:hover time,
.latest-row:hover small{
  transform:none !important;
}

/* Mobile: remove image scaling too, prioritizing stability */
@media(max-width:680px){
  .latest-row:hover img{
    transform:none;
  }
}


/* =========================================================
   V24 — LATEST STORIES: NO DUPLICATION / NO GEOMETRY SHIFT
   ========================================================= */

/* The lower Latest Stories list is a separate archive-style layer.
   Hero article is excluded in PHP, so a single-post site won't repeat itself. */

/* Freeze every box-model property that can produce lateral movement. */
.latest-row,
.latest-row:hover,
.latest-row:focus,
.latest-row:focus-within,
.latest-row a,
.latest-row:hover a,
.latest-row:focus a,
.latest-row:focus-within a{
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:12px !important;
  padding-right:12px !important;
  left:auto !important;
  right:auto !important;
  translate:none !important;
  transform:none !important;
  text-indent:0 !important;
}

/* If the row itself is the anchor, keep its entire geometry fixed. */
a.latest-row,
a.latest-row:hover,
a.latest-row:focus{
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:12px !important;
  padding-right:12px !important;
  transform:none !important;
}

/* Image frame and text stay in exactly the same position. */
.latest-row img,
.latest-row:hover img{
  margin-left:0 !important;
  margin-right:0 !important;
}

.latest-row .latest-title,
.latest-row:hover .latest-title,
.latest-row time,
.latest-row:hover time,
.latest-row small,
.latest-row:hover small{
  margin-left:0 !important;
  transform:none !important;
}

/* Keep motion only in tone and a very gentle image breathing effect. */
.latest-row{
  transition:
    background-color .58s cubic-bezier(.22,.61,.36,1),
    color .58s cubic-bezier(.22,.61,.36,1) !important;
}

.latest-row img{
  transition:
    filter .58s cubic-bezier(.22,.61,.36,1),
    opacity .58s cubic-bezier(.22,.61,.36,1) !important;
}

/* No scale here: the hover should feel like ambient light, not a moving card. */
.latest-row:hover img{
  transform:none !important;
}

/* Make the transition feel softer rather than instant black/white. */
.latest-row:hover{
  background:#0b0b0b !important;
  color:#fff !important;
}

@media(max-width:680px){
  .latest-row,
  .latest-row:hover,
  .latest-row a,
  .latest-row:hover a{
    padding-left:10px !important;
    padding-right:10px !important;
  }
}


/* =========================================================
   V25 — ARTICLE READING FLOW
   ========================================================= */

/* Interior header: no visible divider line */
body:not(.home) .site-header{
  border-bottom:0 !important;
  box-shadow:none !important;
}

/* Article intro: quieter and more editorial */
.story-hero-copy{
  padding-bottom:34px;
}

.story-dek{
  max-width:760px;
  margin-top:22px;
  font-size:17px !important;
  line-height:1.65;
  color:#565652;
}

/* If no summary exists, keep title/meta spacing elegant */
.story-hero h1 + .story-meta{
  margin-top:26px;
}

/* Main body reading width and rhythm */
.story-rail{
  max-width:1180px;
  margin:0 auto;
}

.article-body{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}

/* Drop cap: refined, not theatrical */
.article-body > p:first-of-type:first-letter{
  font-size:48px !important;
  line-height:.82 !important;
  padding-right:8px !important;
  padding-top:7px !important;
}

/* Body paragraph spacing */
.article-body p{
  margin-top:0;
  margin-bottom:1.35em;
}

/* Mobile */
@media(max-width:680px){
  .story-hero-copy{
    padding-bottom:26px;
  }

  .story-dek{
    font-size:15.5px !important;
    line-height:1.62;
  }

  .article-body{
    max-width:none;
  }

  .article-body > p:first-of-type:first-letter{
    font-size:38px !important;
    padding-right:6px !important;
    padding-top:5px !important;
  }
}


/* =========================================================
   V26 — UNIFIED HEADER TYPOGRAPHY & POSITION
   ========================================================= */
.site-header,
.home .site-header,
body:not(.home) .site-header{
  height:60px !important;
  min-height:60px !important;
}

.header-inner{
  height:60px !important;
  min-height:60px !important;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  padding-left:20px !important;
  padding-right:20px !important;
}

.brand,
.home .brand,
body:not(.home) .brand{
  align-self:center;
  font-family:var(--ui-font) !important;
  font-size:18px !important;
  font-weight:700 !important;
  line-height:1 !important;
  letter-spacing:-.02em !important;
}

.brand small,
.home .brand small,
body:not(.home) .brand small{
  font-family:var(--ui-font) !important;
  font-size:6px !important;
  font-weight:600 !important;
  letter-spacing:.23em !important;
  line-height:1 !important;
  margin-top:5px !important;
}

.main-nav,
.home .main-nav,
body:not(.home) .main-nav{
  align-self:center;
  justify-self:center;
  display:flex;
  align-items:center;
  gap:30px !important;
  font-family:var(--ui-font) !important;
}

.main-nav a,
.home .main-nav a,
body:not(.home) .main-nav a{
  font-family:var(--ui-font) !important;
  font-size:13px !important;
  font-weight:400 !important;
  line-height:1 !important;
  letter-spacing:-.01em !important;
  padding:0 !important;
  margin:0 !important;
  transform:none !important;
}

.header-tools,
.home .header-tools,
body:not(.home) .header-tools{
  align-self:center;
  justify-self:end;
  display:flex;
  align-items:center;
  gap:11px !important;
  font-family:var(--ui-font) !important;
  line-height:1 !important;
}

.header-tools .lang-link,
.header-tools .search-toggle,
.home .header-tools .lang-link,
.home .header-tools .search-toggle,
body:not(.home) .header-tools .lang-link,
body:not(.home) .header-tools .search-toggle{
  font-family:var(--ui-font) !important;
  font-size:11px !important;
  font-weight:400 !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  padding:0 !important;
  margin:0 !important;
}

.home .brand,
.home .main-nav a,
.home .header-tools,
.home .header-tools .lang-link,
.home .header-tools .search-toggle{
  color:#fff !important;
}

body:not(.home) .brand,
body:not(.home) .main-nav a,
body:not(.home) .header-tools,
body:not(.home) .header-tools .lang-link,
body:not(.home) .header-tools .search-toggle{
  color:#171714 !important;
}

.home .main-nav,
.home .header-tools,
.home .brand,
body:not(.home) .main-nav,
body:not(.home) .header-tools,
body:not(.home) .brand{
  top:auto !important;
  bottom:auto !important;
  translate:none !important;
  transform:none !important;
}

.main-nav a:hover,
.header-tools .lang-link:hover,
.header-tools .search-toggle:hover{
  font-weight:400 !important;
  opacity:.62;
  transition:opacity .48s cubic-bezier(.22,.61,.36,1);
}

@media(max-width:680px){
  .site-header,
  .home .site-header,
  body:not(.home) .site-header,
  .header-inner{
    height:56px !important;
    min-height:56px !important;
  }

  .brand,
  .home .brand,
  body:not(.home) .brand{
    font-size:17px !important;
  }
}


/* =========================================================
   V27 — HEADER CLEANUP
   Fix active underline position and force coherent hero typography.
   ========================================================= */

/* Active nav underline: always below the text, never above it */
.main-nav a{
  position:relative !important;
}

.main-nav a::after{
  content:"";
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:auto !important;
  bottom:-8px !important;
  height:1px !important;
  background:currentColor !important;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .48s cubic-bezier(.22,.61,.36,1),
             opacity .48s cubic-bezier(.22,.61,.36,1);
  opacity:.9;
}

.main-nav a:hover::after,
.main-nav a[aria-current="page"]::after,
.main-nav .current-menu-item > a::after,
.main-nav .current-category-ancestor > a::after{
  transform:scaleX(1);
}

/* Home hero: always clean white typography */
.home .site-header .brand,
.home .site-header .main-nav a,
.home .site-header .header-tools,
.home .site-header .header-tools .lang-link,
.home .site-header .header-tools .search-toggle,
.home .site-header .brand.smart-dark,
.home .site-header .brand.smart-light,
.home .site-header .main-nav.smart-dark a,
.home .site-header .main-nav.smart-light a,
.home .site-header .header-tools.smart-dark,
.home .site-header .header-tools.smart-light,
.home .site-header .header-tools.smart-dark .lang-link,
.home .site-header .header-tools.smart-light .lang-link,
.home .site-header .header-tools.smart-dark .search-toggle,
.home .site-header .header-tools.smart-light .search-toggle{
  color:#fff !important;
  text-shadow:0 1px 6px rgba(0,0,0,.28) !important;
}

/* Menu weight stays thin/clean; logo remains intentionally stronger */
.home .site-header .main-nav a,
.home .site-header .header-tools .lang-link,
.home .site-header .header-tools .search-toggle{
  font-weight:400 !important;
}

.home .site-header .brand{
  font-weight:700 !important;
}

/* Smooth mood-light hover: white -> soft gray */
.home .site-header .main-nav a:hover,
.home .site-header .header-tools .lang-link:hover,
.home .site-header .header-tools .search-toggle:hover{
  color:#cfcfcf !important;
  opacity:1 !important;
  transition:
    color .58s cubic-bezier(.22,.61,.36,1),
    opacity .58s cubic-bezier(.22,.61,.36,1);
}

/* Keep underline color coherent on hero */
.home .site-header .main-nav a::after{
  background:#fff !important;
}

.home .site-header .main-nav a:hover::after{
  background:#cfcfcf !important;
}

/* Interior pages: dark clean text, soft gray hover */
body:not(.home) .site-header .main-nav a:hover,
body:not(.home) .site-header .header-tools .lang-link:hover,
body:not(.home) .site-header .header-tools .search-toggle:hover{
  color:#777 !important;
  opacity:1 !important;
}

/* Active language underline stays below the label */
.header-languages .lang-link{
  position:relative !important;
}

.header-languages .lang-link.is-active::after{
  top:auto !important;
  bottom:-7px !important;
  height:1px !important;
}

/* Prevent old smart-contrast JS classes from visually overriding V27 */
.home .smart-dark,
.home .smart-light{
  color:inherit !important;
}

/* Mobile: slightly tighter underline offset */
@media(max-width:680px){
  .main-nav a::after{
    bottom:-6px !important;
  }

  .header-languages .lang-link.is-active::after{
    bottom:-5px !important;
  }
}


/* =========================================================
   V28 — GUARANTEED FRONT-PAGE HEADER
   Uses PHP-added .kozumin-front class, not WordPress .home assumptions.
   ========================================================= */

/* Front page geometry */
body.kozumin-front .site-header{
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  height:60px !important;
  min-height:60px !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  z-index:300 !important;
}

body.kozumin-front .header-inner{
  height:60px !important;
  min-height:60px !important;
  padding:0 20px !important;
  display:grid !important;
  grid-template-columns:1fr auto 1fr !important;
  align-items:center !important;
}

/* Brand */
body.kozumin-front .site-header .brand{
  color:#fff !important;
  font-family:var(--ui-font) !important;
  font-size:18px !important;
  font-weight:700 !important;
  line-height:1 !important;
  letter-spacing:-.02em !important;
  text-shadow:0 1px 6px rgba(0,0,0,.34) !important;
  opacity:1 !important;
}

body.kozumin-front .site-header .brand small{
  color:#fff !important;
  font-family:var(--ui-font) !important;
  font-size:6px !important;
  font-weight:600 !important;
  letter-spacing:.23em !important;
  opacity:.88 !important;
}

/* Center nav — always the same clean white style */
body.kozumin-front .site-header .main-nav{
  display:flex !important;
  align-items:center !important;
  justify-self:center !important;
  gap:30px !important;
  color:#fff !important;
}

body.kozumin-front .site-header .main-nav a,
body.kozumin-front .site-header .main-nav a:link,
body.kozumin-front .site-header .main-nav a:visited,
body.kozumin-front .site-header .main-nav a[aria-current="page"],
body.kozumin-front .site-header .current-menu-item > a{
  color:#fff !important;
  font-family:var(--ui-font) !important;
  font-size:13px !important;
  font-weight:400 !important;
  line-height:1 !important;
  letter-spacing:-.01em !important;
  text-shadow:0 1px 5px rgba(0,0,0,.34) !important;
  opacity:1 !important;
}

/* Right utilities */
body.kozumin-front .site-header .header-tools,
body.kozumin-front .site-header .header-tools a,
body.kozumin-front .site-header .header-tools button,
body.kozumin-front .site-header .lang-link,
body.kozumin-front .site-header .search-toggle{
  color:#fff !important;
  font-family:var(--ui-font) !important;
  font-size:11px !important;
  font-weight:400 !important;
  line-height:1 !important;
  text-shadow:0 1px 5px rgba(0,0,0,.34) !important;
  opacity:1 !important;
}

/* Smooth hover: white -> soft gray, no weight/position jump */
body.kozumin-front .site-header .main-nav a:hover,
body.kozumin-front .site-header .header-tools a:hover,
body.kozumin-front .site-header .header-tools button:hover,
body.kozumin-front .site-header .lang-link:hover,
body.kozumin-front .site-header .search-toggle:hover{
  color:#c9c9c9 !important;
  font-weight:400 !important;
  opacity:1 !important;
  transition:color .62s cubic-bezier(.22,.61,.36,1) !important;
}

/* Underline always below text */
body.kozumin-front .site-header .main-nav a::after{
  top:auto !important;
  bottom:-8px !important;
  height:1px !important;
  background:#fff !important;
}

body.kozumin-front .site-header .main-nav a:hover::after{
  background:#c9c9c9 !important;
}

/* Active language underline */
body.kozumin-front .site-header .lang-link.is-active::after{
  top:auto !important;
  bottom:-7px !important;
  background:#fff !important;
}

/* Kill all old smart contrast classes on front page */
body.kozumin-front .smart-dark,
body.kozumin-front .smart-light,
body.kozumin-front .smart-dark a,
body.kozumin-front .smart-light a{
  color:#fff !important;
}

/* Keep subtle top scrim for legibility */
body.kozumin-front .site-header::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:88px;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(
    to bottom,
    rgba(0,0,0,.32) 0%,
    rgba(0,0,0,.15) 48%,
    rgba(0,0,0,0) 100%
  );
}

@media(max-width:680px){
  body.kozumin-front .site-header,
  body.kozumin-front .header-inner{
    height:56px !important;
    min-height:56px !important;
  }

  body.kozumin-front .site-header .brand{
    font-size:17px !important;
  }
}


/* =========================================================
   V29 — HEADER FINAL FIX
   Real front-page class + stable viewport width + no blend mode.
   ========================================================= */

/* Reserve scrollbar width on every page so the centered navigation
   cannot jump horizontally when moving between short/long pages. */
html{
  overflow-y:scroll !important;
  scrollbar-gutter:stable !important;
}

/* The old V1 hero header used mix-blend-mode:difference.
   Kill it explicitly: this was causing black/orange/white shifts. */
body.kozumin-front .site-header{
  mix-blend-mode:normal !important;
  color:#fff !important;
}

/* Guaranteed front-page colors */
body.kozumin-front .site-header .brand,
body.kozumin-front .site-header .brand small,
body.kozumin-front .site-header .main-nav,
body.kozumin-front .site-header .main-nav a,
body.kozumin-front .site-header .main-nav a:link,
body.kozumin-front .site-header .main-nav a:visited,
body.kozumin-front .site-header .header-tools,
body.kozumin-front .site-header .header-tools a,
body.kozumin-front .site-header .header-tools button,
body.kozumin-front .site-header .lang-link,
body.kozumin-front .site-header .search-toggle,
body.kozumin-front .site-header svg{
  color:#fff !important;
  stroke:#fff !important;
  fill:none;
  opacity:1 !important;
}

/* Thin, clean navigation matching interior pages */
body.kozumin-front .site-header .main-nav a{
  font-family:var(--ui-font) !important;
  font-size:13px !important;
  font-weight:400 !important;
  letter-spacing:-.01em !important;
  text-shadow:0 1px 5px rgba(0,0,0,.38) !important;
}

/* Right tools also remain thin and white */
body.kozumin-front .site-header .lang-link,
body.kozumin-front .site-header .search-toggle{
  font-family:var(--ui-font) !important;
  font-size:11px !important;
  font-weight:400 !important;
  text-shadow:0 1px 5px rgba(0,0,0,.38) !important;
}

/* Smooth white -> soft gray interaction */
body.kozumin-front .site-header .main-nav a:hover,
body.kozumin-front .site-header .lang-link:hover,
body.kozumin-front .site-header .search-toggle:hover{
  color:#cfcfcf !important;
  stroke:#cfcfcf !important;
  transition:
    color .62s cubic-bezier(.22,.61,.36,1),
    stroke .62s cubic-bezier(.22,.61,.36,1),
    opacity .62s cubic-bezier(.22,.61,.36,1) !important;
}

/* One identical header grid on both front and inner pages. */
body.kozumin-front .header-inner,
body.kozumin-inner .header-inner{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
  padding-left:20px !important;
  padding-right:20px !important;
  display:grid !important;
  grid-template-columns:minmax(190px,1fr) auto minmax(190px,1fr) !important;
  align-items:center !important;
}

/* Keep center nav truly centered in viewport, not relative to content widths */
body.kozumin-front .main-nav,
body.kozumin-inner .main-nav{
  grid-column:2 !important;
  justify-self:center !important;
  margin:0 !important;
  padding:0 !important;
}

body.kozumin-front .brand,
body.kozumin-inner .brand{
  grid-column:1 !important;
  justify-self:start !important;
}

body.kozumin-front .header-tools,
body.kozumin-inner .header-tools{
  grid-column:3 !important;
  justify-self:end !important;
  margin:0 !important;
}

/* Interior header retains clean dark UI but identical geometry. */
body.kozumin-inner .site-header{
  mix-blend-mode:normal !important;
}

@media(max-width:680px){
  html{
    scrollbar-gutter:auto !important;
  }
}


/* =========================================================
   V30 — NEUTRAL EDITORIAL SURFACES
   Less beige/yellow, cleaner internal pages, no stray category divider.
   ========================================================= */

:root{
  --bg:#f7f7f4 !important;
  --paper:#fcfcfa !important;
  --line:#deded9 !important;
}

/* Large surfaces should feel warm-neutral, not yellow/beige. */
body{
  background:#f7f7f4 !important;
}

/* Interior navigation gets the lightest surface for a crisp UI feel. */
body.kozumin-inner .site-header{
  background:rgba(252,252,250,.96) !important;
  border-bottom:0 !important;
}

/* Category intro remains subtly separated without a visible rule. */
.category-head{
  background:#fcfcfa !important;
  border-bottom:0 !important;
}

/* Remove the horizontal line that appeared directly above the first image/card area. */
.category-editorial{
  border-top:0 !important;
  background:#f7f7f4 !important;
}

.category-editorial::before,
.category-editorial::after,
.category-story,
.category-story-lead,
.category-story-wide,
.category-story-media,
.category-story-lead .category-story-media,
.category-story-wide .category-story-media{
  border-top:0 !important;
}

/* Generic pages such as About / Privacy / Contact use the same calm neutral canvas. */
body.page{
  background:#f7f7f4 !important;
}

/* HTML-authored static pages should sit naturally on the canvas. */
body.page .entry-content,
body.page main{
  background:transparent;
}


/* =========================================================
   V32 — MOBILE LAYOUT REBUILD
   Mobile is treated as its own editorial layout, not a squeezed desktop.
   ========================================================= */

@media (max-width:900px){

  html{
    overflow-x:hidden !important;
    overflow-y:auto !important;
    scrollbar-gutter:auto !important;
  }

  body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  /* -------------------------------------------------------
     HEADER
     Mobile = brand left / Menu right only.
     Desktop navigation and language utility live in drawer.
     ------------------------------------------------------- */
  .site-header,
  body.kozumin-front .site-header,
  body.kozumin-inner .site-header{
    height:60px !important;
    min-height:60px !important;
  }

  body.kozumin-front .header-inner,
  body.kozumin-inner .header-inner,
  .header-inner{
    width:100% !important;
    height:60px !important;
    min-height:60px !important;
    padding:0 18px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:16px !important;
    align-items:center !important;
  }

  body.kozumin-front .main-nav,
  body.kozumin-inner .main-nav,
  body.kozumin-front .header-tools,
  body.kozumin-inner .header-tools,
  .main-nav,
  .header-tools{
    display:none !important;
  }

  body.kozumin-front .brand,
  body.kozumin-inner .brand,
  .brand{
    grid-column:1 !important;
    justify-self:start !important;
    align-self:center !important;
    margin:0 !important;
    font-size:18px !important;
    line-height:.9 !important;
    white-space:nowrap !important;
  }

  .brand small{
    font-size:6px !important;
    line-height:1 !important;
    margin-top:5px !important;
    letter-spacing:.23em !important;
  }

  .menu-toggle{
    display:flex !important;
    grid-column:2 !important;
    justify-self:end !important;
    align-self:center !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    min-width:52px !important;
    height:40px !important;
    min-height:40px !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    background:transparent !important;
    font-family:var(--ui-font) !important;
    font-size:10px !important;
    font-weight:500 !important;
    line-height:1 !important;
    letter-spacing:.16em !important;
    text-transform:uppercase !important;
  }

  body.kozumin-front .menu-toggle{
    color:#fff !important;
    text-shadow:0 1px 5px rgba(0,0,0,.35) !important;
  }

  body.kozumin-inner .menu-toggle{
    color:#111 !important;
    text-shadow:none !important;
  }

  /* drawer starts exactly beneath mobile header */
  .mobile-panel{
    inset:60px 0 0 !important;
    padding:28px 18px 40px !important;
    background:#f7f7f4 !important;
  }

  .mobile-language-row{
    padding:0 0 22px !important;
    margin:0 0 10px !important;
  }

  .mobile-language-row .language-switcher{
    gap:20px !important;
  }

  .mobile-language-row .lang-link{
    font-family:var(--ui-font) !important;
    font-size:12px !important;
  }

  .mobile-search-trigger{
    width:100%;
    padding:14px 0 18px;
    margin:0 0 4px;
    text-align:left;
    border:0;
    border-bottom:1px solid var(--line);
    background:transparent;
    font-family:var(--ui-font);
    font-size:12px;
    letter-spacing:.12em;
    text-transform:uppercase;
  }

  .mobile-panel > a{
    font-family:var(--serif) !important;
    font-size:34px !important;
    font-weight:400 !important;
    line-height:1 !important;
    letter-spacing:-.035em !important;
    padding:17px 0 !important;
  }

  /* -------------------------------------------------------
     HOME HERO
     ------------------------------------------------------- */
  .hero{
    min-height:760px !important;
    height:88svh !important;
    max-height:900px !important;
  }

  .hero-media img{
    object-position:center center !important;
  }

  .hero-shade{
    background:
      linear-gradient(180deg,
        rgba(0,0,0,.18) 0%,
        rgba(0,0,0,.03) 32%,
        rgba(0,0,0,.17) 58%,
        rgba(0,0,0,.70) 100%) !important;
  }

  .hero-caption,
  .hero-caption:hover{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    display:block !important;
    min-height:0 !important;
    padding:0 20px 30px !important;
    background:transparent !important;
    color:#fff !important;
  }

  .hero-side{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    margin:0 0 16px !important;
    font-family:var(--ui-font) !important;
    font-size:11px !important;
    font-weight:500 !important;
    line-height:1 !important;
    letter-spacing:.12em !important;
    text-transform:uppercase !important;
  }

  .hero-side em{
    display:inline !important;
    margin:0 !important;
    font-style:normal !important;
    font-weight:400 !important;
    opacity:.72 !important;
  }

  .hero-side.right{
    display:none !important;
  }

  .hero-center{
    text-align:left !important;
    width:100% !important;
  }

  .hero-center .k-label{
    display:none !important;
  }

  .hero-title{
    width:100% !important;
    max-width:620px !important;
    margin:0 !important;
    font-size:clamp(40px,11.2vw,58px) !important;
    line-height:.92 !important;
    letter-spacing:-.045em !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    hyphens:none !important;
  }

  .hero-dek{
    display:-webkit-box !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:3 !important;
    overflow:hidden !important;
    max-width:620px !important;
    margin:18px 0 0 !important;
    font-family:var(--ui-font) !important;
    font-size:14px !important;
    line-height:1.55 !important;
    letter-spacing:-.01em !important;
    color:rgba(255,255,255,.92) !important;
  }

  /* prevent touch from triggering desktop white hover panel */
  .hero-caption:hover{
    color:#fff !important;
  }

  /* -------------------------------------------------------
     LATEST STRIP
     ------------------------------------------------------- */
  .latest-strip{
    width:100% !important;
    grid-template-columns:92px minmax(0,1fr) !important;
    background:#fcfcfa !important;
  }

  .latest-strip-label{
    min-width:0 !important;
    padding:20px 16px !important;
    font-size:9px !important;
  }

  .latest-strip a{
    min-width:0 !important;
    padding:18px 18px 19px !important;
    font-size:17px !important;
    line-height:1.12 !important;
    overflow-wrap:anywhere !important;
  }

  .latest-strip small{
    margin-bottom:7px !important;
    font-size:8px !important;
  }

  .latest-strip a:nth-of-type(n+2){
    display:none !important;
  }

  /* -------------------------------------------------------
     HOME SECTIONS
     ------------------------------------------------------- */
  .intro-band,
  .home-section,
  .explore-korea,
  .latest{
    padding-left:20px !important;
    padding-right:20px !important;
  }

  .intro-band{
    display:block !important;
    padding-top:58px !important;
    padding-bottom:64px !important;
  }

  .intro-band h2{
    font-size:clamp(42px,12vw,58px) !important;
    line-height:.94 !important;
  }

  .intro-band p{
    margin-top:24px !important;
    font-size:14px !important;
    line-height:1.7 !important;
  }

  .home-section,
  .explore-korea{
    padding-top:60px !important;
    padding-bottom:72px !important;
  }

  .home-section-head,
  .explore-head,
  .latest-head{
    display:block !important;
    margin-bottom:28px !important;
  }

  .home-section-head h2,
  .explore-head h2,
  .latest-head h2{
    font-size:clamp(38px,11vw,50px) !important;
  }

  .home-section-head p,
  .explore-head p{
    max-width:none !important;
    margin-top:14px !important;
    text-align:left !important;
  }

  /* gallery cards become simple readable image + panel cards */
  .gallery-grid,
  .gallery-grid.culture{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .g-card,
  .g-card.feature{
    min-height:0 !important;
    height:auto !important;
    display:grid !important;
    grid-template-rows:minmax(300px,62vw) auto !important;
    background:#fff !important;
  }

  .g-card:hover,
  .g-card.feature:hover{
    grid-template-rows:minmax(300px,62vw) auto !important;
  }

  .g-overlay{
    display:none !important;
  }

  .g-panel,
  .g-card:hover .g-panel{
    min-height:0 !important;
    padding:20px !important;
    display:block !important;
  }

  .g-title,
  .g-card:not(.feature) .g-title{
    font-size:30px !important;
  }

  .g-panel-side{
    display:none !important;
  }

  .g-card:hover .g-media img{
    transform:none !important;
  }

  /* Explore cards: no hover dependency */
  .explore-panels{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    height:auto !important;
    overflow:visible !important;
  }

  .explore-panel,
  .explore-panel:nth-child(n){
    display:grid !important;
    grid-template-rows:300px auto !important;
    height:auto !important;
    min-height:0 !important;
    flex:none !important;
    background:#fff !important;
  }

  .explore-media{
    position:relative !important;
    inset:auto !important;
    height:300px !important;
  }

  .explore-overlay{
    display:none !important;
  }

  .explore-reveal,
  .explore-panel:hover .explore-reveal{
    position:relative !important;
    inset:auto !important;
    height:auto !important;
    min-height:150px !important;
    padding:20px !important;
    overflow:visible !important;
    background:#fff !important;
  }

  .explore-reveal-main h3{
    font-size:31px !important;
  }

  .explore-reveal-bottom{
    display:none !important;
  }

  .explore-panels:hover .explore-panel:not(:hover) .explore-media img,
  .explore-panel:hover .explore-media img{
    filter:none !important;
    transform:none !important;
  }

  /* -------------------------------------------------------
     CATEGORY ARCHIVES
     ------------------------------------------------------- */
  .category-head{
    padding:52px 20px 34px !important;
  }

  .category-head h1{
    margin:12px 0 22px !important;
    font-size:clamp(43px,13vw,58px) !important;
    line-height:.9 !important;
  }

  .category-desc{
    font-size:15px !important;
    line-height:1.6 !important;
  }

  .topic-nav{
    width:calc(100% + 20px) !important;
    margin-top:25px !important;
    padding-right:20px !important;
    gap:18px !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    scrollbar-width:none !important;
    -webkit-overflow-scrolling:touch !important;
  }

  .topic-nav::-webkit-scrollbar{
    display:none !important;
  }

  .topic-nav a,
  .topic-nav span{
    flex:0 0 auto !important;
    white-space:nowrap !important;
  }

  .category-editorial,
  .archive-grid{
    width:100% !important;
    grid-template-columns:1fr !important;
    padding-left:20px !important;
    padding-right:20px !important;
    gap:10px !important;
  }

  .category-story,
  .category-story-lead,
  .category-story-wide{
    grid-column:1 !important;
    width:100% !important;
    min-width:0 !important;
  }

  .category-story-media,
  .category-story-lead .category-story-media,
  .category-story-wide .category-story-media,
  .archive-media{
    aspect-ratio:4/3 !important;
  }

  .category-story-copy,
  .archive-copy{
    padding:18px 16px 24px !important;
  }

  .category-story-copy h2,
  .category-story-lead .category-story-copy h2,
  .category-story-wide .category-story-copy h2,
  .archive-copy h2{
    font-size:30px !important;
    line-height:1.02 !important;
  }

  /* -------------------------------------------------------
     ARTICLE
     ------------------------------------------------------- */
  .story-hero,
  .article-head{
    padding-left:20px !important;
    padding-right:20px !important;
  }

  .story-hero{
    padding-top:54px !important;
    padding-bottom:34px !important;
  }

  .story-hero h1,
  .article-head h1{
    font-size:clamp(40px,11.5vw,54px) !important;
    line-height:.94 !important;
    letter-spacing:-.045em !important;
    overflow-wrap:break-word !important;
  }

  .story-dek,
  .article-dek{
    font-size:16px !important;
    line-height:1.62 !important;
  }

  .story-cover,
  .story-cover img,
  .article-cover{
    width:100% !important;
    max-height:none !important;
  }

  .story-cover img,
  .article-cover{
    aspect-ratio:4/3 !important;
    object-fit:cover !important;
  }

  .story-rail{
    display:block !important;
    width:100% !important;
    padding:0 20px !important;
  }

  .story-side{
    display:none !important;
  }

  .story-rail .article-body,
  .article-body{
    width:100% !important;
    max-width:100% !important;
    margin:46px auto 76px !important;
    padding:0 !important;
    font-size:16.5px !important;
    line-height:1.82 !important;
  }

  .article-body > p:first-of-type:first-letter{
    font-size:42px !important;
    line-height:.82 !important;
    padding-right:7px !important;
    padding-top:5px !important;
  }

  .article-body h2{
    font-size:30px !important;
  }

  .article-body h3{
    font-size:24px !important;
  }

  .article-body figure,
  .article-body blockquote,
  .article-body .wp-block-gallery{
    margin-left:0 !important;
    margin-right:0 !important;
  }

  .article-body .wp-block-table{
    width:100% !important;
    overflow-x:auto !important;
    display:block !important;
  }

  .related-stories{
    padding:56px 20px 70px !important;
  }

  .related-head h2{
    font-size:40px !important;
  }

  .related-grid,
  .search-results-grid{
    grid-template-columns:1fr !important;
  }

  .story-nav{
    grid-template-columns:1fr !important;
  }

  /* -------------------------------------------------------
     STATIC PAGES / FOOTER
     ------------------------------------------------------- */
  body.page main,
  body.page .entry-content{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
  }

  .site-footer-minimal{
    padding:26px 20px 22px !important;
  }

  .footer-minimal-inner{
    display:block !important;
    margin-bottom:24px !important;
  }

  .footer-mini-nav{
    margin-top:22px !important;
    display:flex !important;
    flex-wrap:wrap !important;
    gap:14px 20px !important;
  }

  .footer-mini-tools{
    margin-top:20px !important;
  }
}

/* Very narrow phones */
@media (max-width:390px){
  .hero{
    min-height:680px !important;
  }

  .hero-caption,
  .hero-caption:hover{
    padding-left:17px !important;
    padding-right:17px !important;
    padding-bottom:25px !important;
  }

  .hero-title{
    font-size:39px !important;
  }

  .hero-dek{
    font-size:13px !important;
  }

  .latest-strip{
    grid-template-columns:82px minmax(0,1fr) !important;
  }

  .latest-strip a{
    font-size:16px !important;
    padding-left:15px !important;
    padding-right:15px !important;
  }
}

/* Touch devices should never depend on desktop hover states. */
@media (hover:none), (pointer:coarse){
  .hero:hover .hero-media img,
  .g-card:hover .g-media img,
  .archive-card:hover img,
  .related-card:hover img,
  .category-story:hover img{
    transform:none !important;
  }

  .hero-caption:hover{
    background:transparent !important;
    color:#fff !important;
  }
}


/* =========================================================
   V45 — FOOTER INFORMATION ARCHITECTURE
   About / Contact / Privacy Policy + multilingual responsive footer.
   ========================================================= */

.site-footer-v45{
  width:100%;
  background:#0a0a09;
  color:#fff;
  padding:34px 20px 25px;
  box-sizing:border-box;
}

.footer-v45-inner{
  width:100%;
  max-width:1680px;
  margin:0 auto;
}

.footer-v45-top,
.footer-v45-bottom{
  display:grid;
  grid-template-columns:minmax(220px,1fr) auto;
  align-items:center;
  gap:40px;
}

.footer-v45-top{
  padding-bottom:29px;
}

.footer-v45-bottom{
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.14);
}

.footer-v45-brand{
  justify-self:start;
  display:inline-flex;
  align-items:baseline;
  gap:14px;
  color:#fff;
  text-decoration:none;
}

.footer-v45-brand strong{
  font-family:var(--ui-font);
  font-size:16px;
  font-weight:700;
  line-height:1;
  letter-spacing:-.035em;
}

.footer-v45-brand span{
  font-family:var(--ui-font);
  font-size:9px;
  line-height:1;
  letter-spacing:.08em;
  color:#85857f;
}

.footer-v45-primary,
.footer-v45-utility,
.footer-v45-meta,
.footer-v45-meta .language-switcher{
  display:flex;
  align-items:center;
}

.footer-v45-primary{
  justify-self:end;
  gap:25px;
}

.footer-v45-primary a{
  position:relative;
  color:#c8c8c2;
  font-family:var(--serif);
  font-size:15px;
  font-weight:400;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
  transition:color .52s cubic-bezier(.22,.61,.36,1);
}

.footer-v45-utility{
  justify-self:start;
  gap:24px;
}

.footer-v45-utility a{
  position:relative;
  color:#9e9e98;
  font-family:var(--ui-font);
  font-size:11px;
  font-weight:400;
  line-height:1;
  letter-spacing:.02em;
  text-decoration:none;
  white-space:nowrap;
  transition:color .52s cubic-bezier(.22,.61,.36,1);
}

.footer-v45-primary a::after,
.footer-v45-utility a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-7px;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .52s cubic-bezier(.22,.61,.36,1);
}

.footer-v45-primary a:hover,
.footer-v45-utility a:hover{
  color:#fff;
}

.footer-v45-primary a:hover::after,
.footer-v45-utility a:hover::after{
  transform:scaleX(1);
}

.footer-v45-meta{
  justify-self:end;
  gap:24px;
  color:#777771;
}

.footer-v45-meta .language-switcher{
  gap:12px;
}

.footer-v45-meta .lang-link{
  position:relative;
  padding:0;
  margin:0;
  color:#92928c !important;
  font-family:var(--ui-font);
  font-size:11px;
  font-weight:400;
  line-height:1;
  text-shadow:none !important;
  transition:color .5s cubic-bezier(.22,.61,.36,1);
}

.footer-v45-meta .lang-link.is-active{
  color:#fff !important;
}

.footer-v45-meta .lang-link:hover{
  color:#d1d1cc !important;
}

.footer-v45-copy{
  font-family:var(--ui-font);
  font-size:9px;
  line-height:1;
  letter-spacing:.08em;
  white-space:nowrap;
  color:#70706b;
}

/* Tablet */
@media (min-width:681px) and (max-width:1180px){
  .site-footer-v45{
    padding:32px 28px 25px;
  }

  .footer-v45-top{
    grid-template-columns:1fr;
    gap:25px;
  }

  .footer-v45-primary{
    justify-self:start;
    flex-wrap:wrap;
    gap:16px 24px;
  }

  .footer-v45-bottom{
    grid-template-columns:1fr auto;
    gap:28px;
  }
}

/* Mobile */
@media (max-width:680px){
  .site-footer-v45{
    padding:31px 18px 25px !important;
  }

  .footer-v45-top,
  .footer-v45-bottom{
    display:block;
  }

  .footer-v45-top{
    padding-bottom:27px;
  }

  .footer-v45-brand{
    display:flex;
    margin-bottom:29px;
  }

  .footer-v45-primary{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0;
    width:100%;
    border-top:1px solid rgba(255,255,255,.12);
  }

  .footer-v45-primary a{
    min-width:0;
    padding:15px 0;
    border-bottom:1px solid rgba(255,255,255,.12);
    font-size:17px;
    line-height:1.1;
    white-space:normal;
  }

  .footer-v45-primary a:nth-child(odd){
    padding-right:15px;
  }

  .footer-v45-primary a:nth-child(even){
    padding-left:15px;
    border-left:1px solid rgba(255,255,255,.12);
  }

  .footer-v45-primary a::after,
  .footer-v45-utility a::after{
    display:none;
  }

  .footer-v45-bottom{
    padding-top:23px;
  }

  .footer-v45-utility{
    display:flex;
    flex-wrap:wrap;
    gap:15px 20px;
    width:100%;
  }

  .footer-v45-utility a{
    font-size:11px;
    line-height:1.2;
  }

  .footer-v45-meta{
    display:flex;
    justify-content:space-between;
    gap:18px;
    width:100%;
    margin-top:25px;
  }

  .footer-v45-meta .language-switcher{
    gap:14px;
  }

  .footer-v45-meta .lang-link{
    font-size:12px;
  }
}

/* Narrow phones */
@media (max-width:390px){
  .site-footer-v45{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .footer-v45-primary a{
    font-size:16px;
  }

  .footer-v45-utility{
    gap:13px 17px;
  }

  .footer-v45-meta{
    align-items:flex-end;
  }
}

/* Touch devices: no desktop hover dependency */
@media (hover:none), (pointer:coarse){
  .footer-v45-primary a:hover,
  .footer-v45-utility a:hover{
    color:inherit;
  }
}


/* =========================================================
   V47 — MULTILINGUAL HERO QUALITY PASS
   Fix category localization, Korean-summary leakage and CJK wrapping.
   ========================================================= */

html[lang="ja"] .home-hero .hero-title,
html[lang="ja"] .hero .hero-title,
body.koz-lang-ja .home-hero .hero-title,
body.koz-lang-ja .hero .hero-title{
  font-family:"Noto Serif JP", "Noto Serif", serif;
  font-size:clamp(54px,4.9vw,88px);
  line-height:1.02;
  letter-spacing:-.045em;
  max-width:920px;
  text-wrap:balance;
  word-break:keep-all;
  overflow-wrap:normal;
}

html[lang="zh-CN"] .home-hero .hero-title,
html[lang="zh-CN"] .hero .hero-title,
body.koz-lang-zh-cn .home-hero .hero-title,
body.koz-lang-zh-cn .hero .hero-title{
  font-family:"Noto Serif SC", "Noto Serif", serif;
  font-size:clamp(56px,5.0vw,90px);
  line-height:1.03;
  letter-spacing:-.04em;
  max-width:940px;
  text-wrap:balance;
  word-break:keep-all;
  overflow-wrap:normal;
}

/* Hero summaries must remain readable and visually secondary in all languages. */
.home-hero .hero-dek,
.home-hero .story-dek,
.hero .hero-dek,
.hero .story-dek,
.home-hero .hero-summary,
.hero .hero-summary{
  max-width:720px;
  text-wrap:pretty;
}

html[lang="ja"] .home-hero .hero-dek,
html[lang="ja"] .home-hero .story-dek,
html[lang="ja"] .hero .hero-dek,
html[lang="ja"] .hero .story-dek,
html[lang="ja"] .home-hero .hero-summary,
html[lang="ja"] .hero .hero-summary,
html[lang="zh-CN"] .home-hero .hero-dek,
html[lang="zh-CN"] .home-hero .story-dek,
html[lang="zh-CN"] .hero .hero-dek,
html[lang="zh-CN"] .hero .story-dek,
html[lang="zh-CN"] .home-hero .hero-summary,
html[lang="zh-CN"] .hero .hero-summary{
  font-family:var(--ui-font);
  line-height:1.55;
  word-break:keep-all;
}

/* Tablet */
@media (min-width:681px) and (max-width:1180px){
  html[lang="ja"] .home-hero .hero-title,
  html[lang="ja"] .hero .hero-title,
  body.koz-lang-ja .home-hero .hero-title,
  body.koz-lang-ja .hero .hero-title{
    font-size:clamp(48px,6.4vw,72px);
    max-width:820px;
  }

  html[lang="zh-CN"] .home-hero .hero-title,
  html[lang="zh-CN"] .hero .hero-title,
  body.koz-lang-zh-cn .home-hero .hero-title,
  body.koz-lang-zh-cn .hero .hero-title{
    font-size:clamp(50px,6.5vw,74px);
    max-width:840px;
  }
}

/* Mobile */
@media (max-width:680px){
  html[lang="ja"] .home-hero .hero-title,
  html[lang="ja"] .hero .hero-title,
  body.koz-lang-ja .home-hero .hero-title,
  body.koz-lang-ja .hero .hero-title{
    font-size:clamp(38px,11.4vw,54px);
    line-height:1.04;
    letter-spacing:-.035em;
    max-width:100%;
  }

  html[lang="zh-CN"] .home-hero .hero-title,
  html[lang="zh-CN"] .hero .hero-title,
  body.koz-lang-zh-cn .home-hero .hero-title,
  body.koz-lang-zh-cn .hero .hero-title{
    font-size:clamp(40px,11.6vw,56px);
    line-height:1.04;
    letter-spacing:-.03em;
    max-width:100%;
  }

  .home-hero .hero-dek,
  .home-hero .story-dek,
  .hero .hero-dek,
  .hero .story-dek,
  .home-hero .hero-summary,
  .hero .hero-summary{
    max-width:100%;
  }
}


/* =========================================================
   V48 — ACTUAL HERO OUTPUT + CJK TYPOGRAPHY FINAL
   Uses the real body classes emitted by header.php:
   koz-lang-ja / koz-lang-zh-cn.
   ========================================================= */

body.kozumin-front.koz-lang-ja .hero .hero-center{
  min-width:0;
}

body.kozumin-front.koz-lang-ja .hero .hero-title{
  font-family:"Noto Serif JP","Noto Serif",serif;
  font-size:clamp(50px,4.45vw,80px);
  line-height:1.035;
  letter-spacing:-.04em;
  max-width:940px;
  margin-left:auto;
  margin-right:auto;
  word-break:normal;
  overflow-wrap:normal;
  line-break:strict;
  text-wrap:balance;
}

body.kozumin-front.koz-lang-zh-cn .hero .hero-center{
  min-width:0;
}

body.kozumin-front.koz-lang-zh-cn .hero .hero-title{
  font-family:"Noto Serif SC","Noto Serif",serif;
  font-size:clamp(52px,4.6vw,82px);
  line-height:1.035;
  letter-spacing:-.035em;
  max-width:960px;
  margin-left:auto;
  margin-right:auto;
  word-break:normal;
  overflow-wrap:normal;
  line-break:strict;
  text-wrap:balance;
}

body.kozumin-front.koz-lang-ja .hero .hero-dek,
body.kozumin-front.koz-lang-zh-cn .hero .hero-dek{
  max-width:700px;
  font-family:var(--ui-font);
  line-height:1.55;
  word-break:normal;
  line-break:strict;
  text-wrap:pretty;
}

/* Tablet-specific CJK fit */
@media (min-width:681px) and (max-width:1180px){
  body.kozumin-front.koz-lang-ja .hero .hero-title{
    font-size:clamp(44px,5.9vw,66px);
    max-width:780px;
  }

  body.kozumin-front.koz-lang-zh-cn .hero .hero-title{
    font-size:clamp(46px,6vw,68px);
    max-width:800px;
  }
}

/* Phone / iPhone / Galaxy */
@media (max-width:680px){
  body.kozumin-front.koz-lang-ja .hero .hero-title{
    font-size:clamp(35px,10.2vw,48px);
    line-height:1.06;
    letter-spacing:-.03em;
    max-width:100%;
  }

  body.kozumin-front.koz-lang-zh-cn .hero .hero-title{
    font-size:clamp(37px,10.4vw,50px);
    line-height:1.06;
    letter-spacing:-.025em;
    max-width:100%;
  }

  body.kozumin-front.koz-lang-ja .hero .hero-dek,
  body.kozumin-front.koz-lang-zh-cn .hero .hero-dek{
    max-width:100%;
    line-height:1.5;
  }
}

/* Narrow phones */
@media (max-width:390px){
  body.kozumin-front.koz-lang-ja .hero .hero-title{
    font-size:clamp(33px,10vw,43px);
  }

  body.kozumin-front.koz-lang-zh-cn .hero .hero-title{
    font-size:clamp(35px,10.2vw,45px);
  }
}


/* =========================================================
   V49 — REAL CONTENT ONLY + ADAPTIVE EDITORIAL CARD COUNTS
   No production placeholders. 1/2/3 real stories get deliberate layouts.
   ========================================================= */

.gallery-grid.gallery-count-1{
  grid-template-columns:minmax(0,1fr) !important;
}

.gallery-grid.gallery-count-1 .g-card{
  width:100%;
}

.gallery-grid.gallery-count-1 .g-media{
  min-height:clamp(430px,46vw,690px);
}

.gallery-grid.gallery-count-2{
  grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr) !important;
}

.gallery-grid.gallery-count-2 .g-card:first-child .g-media{
  min-height:clamp(430px,42vw,650px);
}

.gallery-grid.gallery-count-2 .g-card:nth-child(2) .g-media{
  min-height:clamp(430px,42vw,650px);
}

/* CJK card titles use native editorial font fallback and controlled wrapping. */
body.koz-lang-ja .gallery-grid .g-title{
  font-family:"Noto Serif JP","Noto Serif",serif;
  line-height:1.08;
  line-break:strict;
  word-break:normal;
}

body.koz-lang-zh-cn .gallery-grid .g-title{
  font-family:"Noto Serif SC","Noto Serif",serif;
  line-height:1.08;
  line-break:strict;
  word-break:normal;
}

/* Tablet */
@media (min-width:681px) and (max-width:1180px){
  .gallery-grid.gallery-count-1{
    grid-template-columns:minmax(0,1fr) !important;
  }

  .gallery-grid.gallery-count-2{
    grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr) !important;
  }

  .gallery-grid.gallery-count-1 .g-media,
  .gallery-grid.gallery-count-2 .g-media{
    min-height:430px;
  }
}

/* iPhone / Galaxy */
@media (max-width:680px){
  .gallery-grid.gallery-count-1,
  .gallery-grid.gallery-count-2,
  .gallery-grid.gallery-count-3{
    grid-template-columns:minmax(0,1fr) !important;
  }

  .gallery-grid.gallery-count-1 .g-media,
  .gallery-grid.gallery-count-2 .g-media,
  .gallery-grid.gallery-count-3 .g-media{
    min-height:0;
  }
}

/* Narrow phones */
@media (max-width:390px){
  body.koz-lang-ja .gallery-grid .g-title,
  body.koz-lang-zh-cn .gallery-grid .g-title{
    letter-spacing:-.02em;
  }
}
