/* GyaanHubb Theme — Main Stylesheet */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
:root{
  --ink:#1a120a;--ink2:#2d1f10;--ink3:#3d2a18;
  --cream:#fdfaf4;--parchment:#f7f0e4;--parchment2:#efe5d4;
  --sakura:#e8728a;--sakura2:#f4a7b9;--sakura3:#fce4ec;
  --gold:#c9a84c;--gold2:#e8c97a;--gold3:#f5e4a8;
  --moss:#3d6b45;--red:#b5272a;
  --muted:#7a6a58;--muted2:#a89880;
  --white:#fff;
  --shadow:rgba(26,18,10,0.1);--shadow2:rgba(26,18,10,0.18);
  --r:4px;
  --font-serif:'Cormorant Garamond',serif;
  --font-jp:'Noto Serif JP',serif;
  --font-sans:'Noto Sans JP',sans-serif;
}
html{scroll-behavior:smooth;}
body{font-family:var(--font-serif);background:var(--parchment2);color:var(--ink);overflow-x:hidden;}
body::after{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.022'/%3E%3C/svg%3E");pointer-events:none;z-index:9999;opacity:0.7;}

/* ── TOP BAR ── */
.topbar{background:var(--ink2);padding:7px 60px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(201,168,76,0.15);}
.topbar-left{display:flex;gap:20px;align-items:center;}
.topbar-item{font-family:var(--font-sans);font-size:10px;letter-spacing:2px;color:rgba(253,250,244,0.45);text-transform:uppercase;}
.topbar-item.live{color:var(--gold);}
.topbar-item.live::before{content:'';display:inline-block;width:6px;height:6px;background:var(--sakura);border-radius:50%;margin-right:6px;animation:livePulse 1.4s ease infinite;}
@keyframes livePulse{0%,100%{opacity:1;}50%{opacity:0.3;}}
.topbar-right{display:flex;gap:16px;align-items:center;}
.topbar-social{font-family:var(--font-sans);font-size:10px;letter-spacing:2px;color:rgba(253,250,244,0.35);text-transform:uppercase;border:1px solid rgba(253,250,244,0.12);padding:3px 10px;border-radius:20px;transition:all 0.2s;cursor:pointer;}
.topbar-social:hover{color:var(--gold);border-color:rgba(201,168,76,0.4);}

/* ── NAV ── */
nav{position:sticky;top:0;z-index:200;background:rgba(253,250,244,0.97);backdrop-filter:blur(20px);border-bottom:1px solid rgba(201,168,76,0.2);padding:0 60px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:32px;height:70px;box-shadow:0 2px 20px rgba(26,18,10,0.07);}
.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0;}
.logo-mon{width:44px;height:44px;background:var(--ink);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;overflow:hidden;}
.logo-mon::after{content:'';position:absolute;inset:2px;border-radius:50%;border:1px solid rgba(201,168,76,0.4);}
.logo-kanji{font-family:var(--font-jp);font-size:20px;font-weight:700;color:var(--gold);}
.logo-text-wrap{display:flex;flex-direction:column;gap:1px;}
.logo-name{font-family:var(--font-serif);font-size:19px;font-weight:700;color:var(--ink);letter-spacing:1.5px;}
.logo-tagline{font-family:var(--font-sans);font-size:9px;letter-spacing:4px;text-transform:uppercase;color:var(--muted);}
.nav-links{display:flex;gap:4px;list-style:none;justify-content:center;align-items:center;}
.nav-links li a{font-family:var(--font-sans);font-size:12px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);text-decoration:none;padding:6px 14px;border-radius:2px;transition:all 0.2s;position:relative;}
.nav-links li a:hover{color:var(--ink);}
.nav-links li a.active{color:var(--sakura);}
.nav-links li a.active::after{content:'';position:absolute;bottom:-2px;left:14px;right:14px;height:2px;background:var(--sakura);border-radius:1px;}
.nav-links li a.nav-cta{background:var(--sakura);color:var(--white)!important;padding:8px 20px;border-radius:3px;letter-spacing:2px;}
.nav-links li a.nav-cta:hover{background:var(--ink);}
.nav-right{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.nav-search{width:36px;height:36px;border-radius:50%;background:var(--parchment);border:1px solid var(--parchment2);display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;transition:all 0.2s;}
.nav-search:hover{background:var(--parchment2);border-color:var(--gold);}
.nav-hamburger{display:none;font-size:22px;cursor:pointer;padding:4px 8px;}

/* Mobile Nav */
.mobile-nav{display:none;background:var(--cream);border-bottom:1px solid rgba(201,168,76,0.15);}
.mobile-nav.open{display:block;}
.mobile-nav-links{list-style:none;padding:16px 24px;}
.mobile-nav-links li a{display:block;padding:12px 0;font-family:var(--font-sans);font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);text-decoration:none;border-bottom:1px solid var(--parchment2);}

/* Search Overlay */
.search-overlay{display:none;position:fixed;inset:0;z-index:300;background:rgba(26,18,10,0.95);align-items:center;justify-content:center;}
.search-overlay.active{display:flex;}
.search-overlay-inner{width:100%;max-width:600px;padding:40px;}
.search-overlay-inner .search-form input{width:100%;background:transparent;border:none;border-bottom:2px solid var(--gold);color:var(--cream);font-family:var(--font-serif);font-size:28px;padding:12px 0;outline:none;}
.search-overlay-inner .search-form input::placeholder{color:rgba(253,250,244,0.3);}
.search-overlay-inner .search-form button{display:none;}
.search-close{position:absolute;top:32px;right:40px;background:none;border:none;color:var(--cream);font-size:28px;cursor:pointer;opacity:0.5;transition:opacity 0.2s;}
.search-close:hover{opacity:1;}

/* ── HERO ── */
.hero{background:var(--ink);position:relative;overflow:hidden;min-height:100vh;display:flex;flex-direction:column;}
.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 20% 50%,rgba(201,168,76,0.06) 0%,transparent 60%),radial-gradient(ellipse 60% 80% at 80% 30%,rgba(232,114,138,0.05) 0%,transparent 60%),linear-gradient(160deg,#1a120a 0%,#2d1f10 40%,#1a120a 100%);z-index:0;}
.hero-wave{position:absolute;bottom:0;left:0;right:0;height:220px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120' preserveAspectRatio='none'%3E%3Cpath d='M0,60 C200,120 400,0 600,60 C800,120 1000,0 1200,60 L1200,120 L0,120 Z' fill='rgba(253,250,244,0.04)'/%3E%3C/svg%3E");background-size:cover;z-index:0;}
.hero-petals{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;}
.petal{position:absolute;width:8px;height:10px;background:radial-gradient(circle,rgba(244,167,185,0.7),rgba(232,114,138,0.3));border-radius:50% 0 50% 0;animation:petalFall linear infinite;opacity:0;}
@keyframes petalFall{0%{transform:translateY(-20px) rotate(0deg) translateX(0);opacity:0;}10%{opacity:0.7;}90%{opacity:0.4;}100%{transform:translateY(105vh) rotate(720deg) translateX(60px);opacity:0;}}
.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:0;flex:1;min-height:calc(100vh - 70px);}
.hero-left{padding:80px 60px 80px 60px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid rgba(201,168,76,0.12);}
.hero-season-tag{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-sans);font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:28px;opacity:0;animation:fadeUp 0.6s ease 0.3s forwards;}
.hero-season-tag::before{content:'';width:32px;height:1px;background:var(--gold);}
.hero-jp-title{font-family:var(--font-jp);font-size:clamp(14px,2vw,20px);font-weight:200;color:rgba(201,168,76,0.6);letter-spacing:12px;margin-bottom:18px;opacity:0;animation:fadeUp 0.6s ease 0.5s forwards;}
.hero-main-title{font-family:var(--font-serif);font-size:clamp(52px,6vw,88px);font-weight:300;line-height:1.0;color:var(--cream);letter-spacing:-2px;margin-bottom:24px;opacity:0;animation:fadeUp 0.7s ease 0.7s forwards;}
.hero-main-title em{font-style:italic;color:var(--sakura2);display:block;}
.hero-desc{font-size:17px;font-weight:300;color:rgba(253,250,244,0.55);line-height:1.9;max-width:440px;margin-bottom:44px;opacity:0;animation:fadeUp 0.6s ease 0.9s forwards;}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;opacity:0;animation:fadeUp 0.6s ease 1.1s forwards;}
.btn-primary{font-family:var(--font-sans);font-size:12px;font-weight:500;letter-spacing:3px;text-transform:uppercase;padding:14px 32px;background:var(--sakura);color:var(--white);border:none;border-radius:3px;cursor:pointer;text-decoration:none;transition:all 0.3s;display:inline-block;}
.btn-primary:hover{background:var(--sakura2);transform:translateY(-2px);box-shadow:0 8px 30px rgba(232,114,138,0.35);}
.btn-ghost{font-family:var(--font-sans);font-size:12px;font-weight:500;letter-spacing:3px;text-transform:uppercase;padding:13px 32px;background:transparent;color:rgba(253,250,244,0.7);border:1px solid rgba(253,250,244,0.2);border-radius:3px;cursor:pointer;text-decoration:none;transition:all 0.3s;display:inline-block;}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold);}
.hero-stats{display:flex;gap:36px;margin-top:52px;padding-top:36px;border-top:1px solid rgba(201,168,76,0.15);opacity:0;animation:fadeUp 0.6s ease 1.3s forwards;flex-wrap:wrap;}
.hstat{text-align:center;}
.hstat-num{font-family:var(--font-serif);font-size:38px;font-weight:300;color:var(--gold2);display:block;line-height:1;margin-bottom:4px;}
.hstat-label{font-family:var(--font-sans);font-size:9px;letter-spacing:3px;text-transform:uppercase;color:rgba(253,250,244,0.3);}
.hero-right{position:relative;overflow:hidden;display:flex;flex-direction:column;}
.hero-featured-img{position:absolute;inset:0;background:linear-gradient(145deg,#2d3a2e 0%,#1a2e20 30%,#0d1a12 100%);background-size:cover;background-position:center;filter:brightness(0.45) saturate(0.7);}
.hero-featured-img-overlay{position:absolute;inset:0;background:linear-gradient(160deg,rgba(26,18,10,0.55) 0%,rgba(26,18,10,0.4) 30%,rgba(26,18,10,0.92) 75%,rgba(26,18,10,0.98) 100%);z-index:1;}
.hero-tree-art{position:absolute;bottom:0;right:0;left:0;height:70%;opacity:0.18;z-index:1;}
.hero-featured-content{position:absolute;bottom:0;left:0;right:0;padding:44px 40px;z-index:3;background:linear-gradient(0deg,rgba(26,18,10,0.95) 0%,rgba(26,18,10,0.6) 60%,transparent 100%);}
.hf-issue{font-family:var(--font-sans);font-size:9px;letter-spacing:4px;text-transform:uppercase;color:var(--gold2);margin-bottom:14px;display:flex;align-items:center;gap:10px;text-shadow:0 1px 4px rgba(0,0,0,0.5);}
.hf-issue::before{content:'';width:24px;height:1px;background:var(--gold2);}
.hf-title{font-family:var(--font-serif);font-size:clamp(20px,2.2vw,28px);font-weight:700;line-height:1.25;color:#fff;margin-bottom:14px;transition:color 0.3s;text-shadow:0 2px 12px rgba(0,0,0,0.7);}
.hf-title:hover{color:var(--sakura2);}
.hf-excerpt{font-size:14px;font-weight:400;color:rgba(255,255,255,0.75);line-height:1.75;margin-bottom:20px;max-width:380px;text-shadow:0 1px 6px rgba(0,0,0,0.6);}
.hf-meta{display:flex;align-items:center;gap:14px;font-family:var(--font-sans);font-size:11px;color:rgba(255,255,255,0.55);letter-spacing:1px;flex-wrap:wrap;}
.hf-dot{width:3px;height:3px;background:var(--sakura);border-radius:50%;}
.hf-read-btn{margin-top:20px;display:inline-flex;align-items:center;gap:8px;font-family:var(--font-sans);font-size:11px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--sakura2);text-decoration:none;transition:gap 0.2s;}
.hf-read-btn:hover{gap:14px;}
.scroll-ind{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);z-index:10;text-align:center;opacity:0;animation:fadeUp 0.6s ease 1.6s forwards;}
.scroll-ind span{display:block;font-family:var(--font-sans);font-size:9px;letter-spacing:3px;text-transform:uppercase;color:rgba(253,250,244,0.25);margin-bottom:10px;}
.scroll-dot{width:1px;height:48px;background:linear-gradient(180deg,rgba(201,168,76,0.6),transparent);margin:0 auto;animation:scrollPulse 1.8s ease infinite;}
@keyframes scrollPulse{0%,100%{height:48px;opacity:0.6;}50%{height:28px;opacity:0.3;}}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}

/* ── TICKER ── */
.ticker-wrap{background:var(--sakura);padding:10px 0;overflow:hidden;position:relative;}
.ticker-label{position:absolute;left:0;top:0;bottom:0;z-index:2;background:var(--ink);padding:0 24px;display:flex;align-items:center;font-family:var(--font-sans);font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);white-space:nowrap;}
.ticker-label::after{content:'';position:absolute;right:-16px;top:0;bottom:0;width:16px;background:linear-gradient(90deg,var(--ink),transparent);}
.ticker-track{display:flex;gap:0;white-space:nowrap;animation:tickerScroll 30s linear infinite;padding-left:160px;}
@keyframes tickerScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.ticker-item{font-family:var(--font-sans);font-size:12px;font-weight:500;color:rgba(255,255,255,0.9);padding:0 32px;letter-spacing:0.5px;}
.ticker-item::before{content:'🌸';margin-right:12px;font-size:10px;}

/* ── CATEGORY STRIP ── */
.cat-strip{background:var(--cream);padding:32px 60px;border-bottom:1px solid rgba(201,168,76,0.15);overflow-x:auto;}
.cat-strip::-webkit-scrollbar{height:3px;}
.cat-strip::-webkit-scrollbar-thumb{background:var(--gold);border-radius:2px;}
.cat-row{display:flex;gap:10px;min-width:max-content;list-style:none;align-items:center;}
.cat-btn{font-family:var(--font-sans);font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase;padding:9px 22px;border-radius:40px;border:1px solid transparent;text-decoration:none;transition:all 0.25s;white-space:nowrap;display:flex;align-items:center;gap:7px;}
.cat-btn.active{background:var(--ink);color:var(--gold);border-color:var(--ink);}
.cat-btn:not(.active){background:transparent;color:var(--muted);border-color:var(--parchment2);}
.cat-btn:not(.active):hover{border-color:var(--sakura);color:var(--sakura);background:var(--sakura3);}
.cat-count{font-size:9px;background:var(--parchment2);color:var(--muted2);padding:2px 7px;border-radius:10px;letter-spacing:1px;}
.cat-btn.active .cat-count{background:rgba(201,168,76,0.2);color:var(--gold);}

/* ── CONTENT WRAP ── */
.content-wrap{max-width:1360px;margin:0 auto;padding:64px 60px;display:grid;grid-template-columns:1fr 340px;gap:56px;}

/* ── SECTION HEADERS ── */
.sec-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:32px;padding-bottom:14px;border-bottom:1px solid rgba(201,168,76,0.2);}
.sec-eyebrow{font-family:var(--font-sans);font-size:9px;letter-spacing:4px;text-transform:uppercase;color:var(--sakura);margin-bottom:8px;display:flex;align-items:center;gap:8px;}
.sec-eyebrow::before{content:'';width:20px;height:1px;background:var(--sakura);}
.sec-title{font-family:var(--font-serif);font-size:clamp(26px,3vw,38px);font-weight:300;letter-spacing:-0.5px;color:var(--ink);line-height:1.1;}
.sec-title em{font-style:italic;color:var(--sakura);}
.sec-jp{font-family:var(--font-jp);font-size:12px;color:var(--gold);letter-spacing:5px;margin-top:6px;}
.sec-viewall{font-family:var(--font-sans);font-size:10px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--muted);text-decoration:none;display:flex;align-items:center;gap:6px;transition:color 0.2s;white-space:nowrap;margin-bottom:4px;}
.sec-viewall:hover{color:var(--sakura);}
.sec-viewall .arr{transition:transform 0.2s;}
.sec-viewall:hover .arr{transform:translateX(4px);}

/* ── FEATURED GRID ── */
.featured-grid{display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:auto auto;gap:20px;margin-bottom:52px;}
.fg-main{grid-column:1;grid-row:1/3;background:var(--white);border-radius:var(--r);overflow:hidden;box-shadow:0 4px 24px var(--shadow);transition:transform 0.3s,box-shadow 0.3s;cursor:pointer;}
.fg-main:hover{transform:translateY(-4px);box-shadow:0 12px 48px var(--shadow2);}
.fg-card{background:var(--white);border-radius:var(--r);overflow:hidden;box-shadow:0 4px 24px var(--shadow);transition:transform 0.3s,box-shadow 0.3s;cursor:pointer;display:flex;flex-direction:column;}
.fg-card:hover{transform:translateY(-3px);box-shadow:0 8px 36px var(--shadow2);}
.card-thumb{width:100%;overflow:hidden;position:relative;}
.fg-main .card-thumb{height:280px;}
.fg-card .card-thumb{height:160px;}
.card-thumb-inner{width:100%;height:100%;background-size:cover;background-position:center;transition:transform 0.6s ease;}
.fg-main:hover .card-thumb-inner,.fg-card:hover .card-thumb-inner{transform:scale(1.05);}
.thumb-1{background:linear-gradient(135deg,#fde8f0 0%,#f9c8d4 40%,#e8a0b4 70%,#c8607a 100%);}
.thumb-2{background:linear-gradient(135deg,#e3f2fd 0%,#90caf9 50%,#1e88e5 100%);}
.thumb-3{background:linear-gradient(135deg,#f5f0e8 0%,#d4a76a 50%,#8b6340 100%);}
.thumb-4{background:linear-gradient(135deg,#e8f5e9 0%,#81c784 50%,#2e7d32 100%);}
.thumb-5{background:linear-gradient(135deg,#fce4ec 0%,#f48fb1 50%,#ad1457 100%);}
.thumb-6{background:linear-gradient(135deg,#fff3e0 0%,#ffb74d 50%,#e65100 100%);}
.thumb-7{background:linear-gradient(135deg,#ede7f6 0%,#ce93d8 50%,#6a1b9a 100%);}
.thumb-8{background:linear-gradient(135deg,#e0f7fa 0%,#4dd0e1 50%,#006064 100%);}
.thumb-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:48px;opacity:0.25;}
.card-cat-badge{position:absolute;top:14px;left:14px;font-family:var(--font-sans);font-size:9px;letter-spacing:3px;text-transform:uppercase;background:var(--ink);color:var(--gold);padding:4px 12px;border-radius:2px;font-weight:500;}
.card-cat-badge.pink{background:var(--sakura);color:var(--white);}
.card-cat-badge.gold-badge{background:var(--gold);color:var(--ink);}
.card-body{padding:22px 24px 26px;}
.fg-main .card-body{padding:28px 30px 32px;}
.card-cat{font-family:var(--font-sans);font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--sakura);margin-bottom:10px;display:flex;align-items:center;gap:7px;}
.card-cat::before{content:'';width:18px;height:1px;background:var(--sakura);}
.card-title{font-family:var(--font-serif);color:var(--ink);font-weight:600;line-height:1.3;margin-bottom:10px;transition:color 0.2s;}
.fg-main .card-title{font-size:clamp(20px,2.2vw,28px);}
.fg-card .card-title{font-size:18px;}
.fg-main:hover .card-title,.fg-card:hover .card-title{color:var(--sakura);}
.card-excerpt{font-size:14px;font-weight:300;color:var(--muted);line-height:1.8;margin-bottom:18px;}
.fg-main .card-excerpt{font-size:15px;}
.card-meta{display:flex;align-items:center;gap:10px;font-family:var(--font-sans);font-size:11px;color:var(--muted2);letter-spacing:0.5px;flex-wrap:wrap;}
.meta-sep{width:3px;height:3px;background:var(--sakura2);border-radius:50%;}
.card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:14px;border-top:1px solid var(--parchment2);}
.read-link{font-family:var(--font-sans);font-size:10px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--sakura);text-decoration:none;display:flex;align-items:center;gap:5px;transition:gap 0.2s;}
.read-link:hover{gap:10px;}
.read-time{font-family:var(--font-sans);font-size:10px;color:var(--muted2);letter-spacing:1px;}

/* ── ARTICLES 3COL ── */
.articles-3col{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.art-card{background:var(--white);border-radius:var(--r);overflow:hidden;box-shadow:0 2px 16px var(--shadow);transition:all 0.3s;cursor:pointer;display:flex;flex-direction:column;}
.art-card:hover{transform:translateY(-4px);box-shadow:0 10px 36px var(--shadow2);}
.art-thumb{height:180px;overflow:hidden;position:relative;}
.art-thumb-inner{width:100%;height:100%;transition:transform 0.5s;background-size:cover;background-position:center;}
.art-card:hover .art-thumb-inner{transform:scale(1.06);}
.art-body{padding:20px 22px 24px;flex:1;display:flex;flex-direction:column;}
.art-cat{font-family:var(--font-sans);font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--sakura);margin-bottom:8px;}
.art-title{font-family:var(--font-serif);font-size:18px;font-weight:600;color:var(--ink);line-height:1.35;margin-bottom:8px;transition:color 0.2s;flex:1;}
.art-card:hover .art-title{color:var(--sakura);}
.art-excerpt{font-size:13px;color:var(--muted);line-height:1.7;font-weight:300;margin-bottom:14px;}
.art-meta{font-family:var(--font-sans);font-size:10px;color:var(--muted2);letter-spacing:1px;display:flex;align-items:center;gap:8px;padding-top:12px;border-top:1px solid var(--parchment2);margin-top:auto;}

/* ── CULTURE BANNER ── */
.culture-banner{background:var(--ink);border-radius:var(--r);overflow:hidden;margin-bottom:52px;display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:1px;background:rgba(201,168,76,0.15);}
.cult-item{background:var(--ink2);padding:40px 28px;text-align:center;cursor:pointer;position:relative;overflow:hidden;transition:background 0.3s;}
.cult-item::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(201,168,76,0.06));transition:opacity 0.3s;}
.cult-item:hover{background:var(--ink3);}
.cult-kanji{font-family:var(--font-jp);font-size:52px;font-weight:200;color:rgba(201,168,76,0.2);margin-bottom:14px;display:block;transition:color 0.3s,transform 0.3s;}
.cult-item:hover .cult-kanji{color:rgba(201,168,76,0.5);transform:scale(1.08);}
.cult-name{font-family:var(--font-serif);font-size:18px;font-weight:600;color:var(--cream);margin-bottom:6px;}
.cult-sub{font-family:var(--font-sans);font-size:9px;letter-spacing:3px;text-transform:uppercase;color:rgba(253,250,244,0.3);}
.cult-tag{position:absolute;top:14px;right:14px;font-family:var(--font-jp);font-size:11px;color:rgba(201,168,76,0.25);letter-spacing:2px;}

/* ── LATEST LIST ── */
.latest-list{display:flex;flex-direction:column;gap:0;margin-bottom:52px;}
.latest-item{display:grid;grid-template-columns:76px auto 1fr auto;align-items:center;gap:0;padding:20px 0;border-bottom:1px solid var(--parchment2);cursor:pointer;transition:padding-left 0.2s;}
.latest-item:hover{padding-left:8px;}
.li-num{font-family:var(--font-serif);font-size:44px;font-weight:300;color:var(--parchment2);line-height:1;text-align:center;transition:color 0.2s;}
.latest-item:hover .li-num{color:var(--sakura3);}
.li-thumb{width:68px;height:56px;border-radius:3px;overflow:hidden;margin-right:18px;flex-shrink:0;}
.li-thumb-inner{width:100%;height:100%;transition:transform 0.4s;background-size:cover;background-position:center;}
.latest-item:hover .li-thumb-inner{transform:scale(1.1);}
.li-body{padding-right:24px;}
.li-cat{font-family:var(--font-sans);font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--sakura);margin-bottom:5px;}
.li-title{font-family:var(--font-serif);font-size:17px;font-weight:600;color:var(--ink);line-height:1.35;transition:color 0.2s;}
.latest-item:hover .li-title{color:var(--sakura);}
.li-date{font-family:var(--font-sans);font-size:10px;color:var(--muted2);letter-spacing:2px;white-space:nowrap;text-transform:uppercase;}

/* ── PAGINATION ── */
.pagination-wrap{text-align:center;padding:32px 0;display:flex;justify-content:center;gap:8px;}
.pagination-wrap .page-numbers{font-family:var(--font-sans);font-size:12px;letter-spacing:2px;text-transform:uppercase;padding:8px 16px;border:1px solid var(--parchment2);border-radius:3px;text-decoration:none;color:var(--muted);transition:all 0.2s;}
.pagination-wrap .page-numbers:hover,.pagination-wrap .page-numbers.current{background:var(--sakura);color:var(--white);border-color:var(--sakura);}

/* ── SIDEBAR ── */
.sidebar{display:flex;flex-direction:column;gap:36px;}
.widget{background:var(--white);border-radius:var(--r);overflow:hidden;box-shadow:0 2px 16px var(--shadow);}
.widget-header{padding:18px 22px 14px;border-bottom:1px solid var(--parchment2);display:flex;align-items:center;justify-content:space-between;}
.widget-title{font-family:var(--font-serif);font-size:16px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:8px;}
.widget-title-icon{color:var(--gold);}
.widget-all{font-family:var(--font-sans);font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--muted2);text-decoration:none;transition:color 0.2s;}
.widget-all:hover{color:var(--sakura);}
.widget-body{padding:18px 22px 22px;}
.trending-item{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--parchment2);align-items:start;cursor:pointer;}
.trending-item:last-child{border-bottom:none;padding-bottom:0;}
.ti-num{font-family:var(--font-serif);font-size:22px;font-weight:300;color:var(--parchment2);line-height:1.2;transition:color 0.2s;}
.trending-item:hover .ti-num{color:var(--sakura3);}
.ti-cat{font-family:var(--font-sans);font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--sakura);margin-bottom:3px;}
.ti-title{font-family:var(--font-serif);font-size:14.5px;font-weight:600;color:var(--ink);line-height:1.4;transition:color 0.2s;}
.trending-item:hover .ti-title{color:var(--sakura);}
.facts-list{display:flex;flex-direction:column;gap:14px;}
.fact-row{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--parchment2);}
.fact-row:last-child{border-bottom:none;}
.fact-icon{font-size:22px;flex-shrink:0;width:30px;text-align:center;}
.fact-num{font-family:var(--font-serif);font-size:22px;font-weight:300;color:var(--gold);display:block;line-height:1;}
.fact-label{font-family:var(--font-sans);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--muted2);}
.nl-widget{background:var(--ink);border-radius:var(--r);padding:28px 24px;overflow:hidden;position:relative;}
.nl-widget::before{content:'日';position:absolute;bottom:-20px;right:-10px;font-family:var(--font-jp);font-size:120px;font-weight:700;color:rgba(201,168,76,0.05);pointer-events:none;}
.nl-tag{font-family:var(--font-sans);font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--sakura2);margin-bottom:14px;display:flex;align-items:center;gap:8px;}
.nl-tag::before{content:'✿';}
.nl-title{font-family:var(--font-serif);font-size:22px;font-weight:300;color:var(--cream);line-height:1.2;margin-bottom:10px;}
.nl-title em{font-style:italic;color:var(--sakura2);}
.nl-desc{font-size:12.5px;color:rgba(253,250,244,0.4);line-height:1.7;font-weight:300;margin-bottom:20px;}
.nl-input,.nl-widget input[type="email"]{width:100%;font-family:var(--font-serif);font-size:14px;padding:11px 14px;background:rgba(253,250,244,0.07);border:1px solid rgba(253,250,244,0.12);border-radius:3px;color:var(--cream);outline:none;margin-bottom:10px;transition:border-color 0.2s;}
.nl-input:focus,.nl-widget input[type="email"]:focus{border-color:rgba(232,114,138,0.5);}
.nl-input::placeholder,.nl-widget input[type="email"]::placeholder{color:rgba(253,250,244,0.25);}
.nl-btn,.nl-widget button[type="submit"]{width:100%;font-family:var(--font-sans);font-size:11px;font-weight:500;letter-spacing:3px;text-transform:uppercase;padding:12px;background:var(--sakura);color:var(--white);border:none;border-radius:3px;cursor:pointer;transition:background 0.2s;}
.nl-btn:hover,.nl-widget button[type="submit"]:hover{background:var(--sakura2);}
.tag-cloud{display:flex;flex-wrap:wrap;gap:8px;padding:18px 22px 22px;}
.tag-pill{font-family:var(--font-sans);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);border:1px solid var(--parchment2);padding:5px 14px;border-radius:20px;text-decoration:none;transition:all 0.2s;}
.tag-pill:hover{border-color:var(--sakura);color:var(--sakura);background:var(--sakura3);}
.tag-pill.hot{border-color:rgba(232,114,138,0.4);color:var(--sakura);background:var(--sakura3);}

/* ── QUOTE SECTION ── */
.quote-section{background:var(--parchment);padding:80px 60px;text-align:center;position:relative;overflow:hidden;}
.quote-bg-kanji{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-jp);font-size:260px;color:rgba(201,168,76,0.05);pointer-events:none;user-select:none;letter-spacing:20px;}
.quote-ornament{font-family:var(--font-jp);font-size:28px;color:rgba(201,168,76,0.3);margin-bottom:24px;letter-spacing:8px;display:block;}
.quote-text{font-family:var(--font-serif);font-size:clamp(20px,2.5vw,32px);font-weight:300;font-style:italic;color:var(--ink);max-width:780px;margin:0 auto 20px;line-height:1.7;position:relative;z-index:1;}
.quote-source{font-family:var(--font-sans);font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);position:relative;z-index:1;}
.quote-divider{display:flex;align-items:center;gap:20px;max-width:200px;margin:20px auto 0;}
.qdiv-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(201,168,76,0.4),transparent);}
.qdiv-sym{font-size:14px;color:rgba(201,168,76,0.4);}

/* ── FOOTER ── */
.footer{background:var(--ink2);padding:60px 60px 0;}
.footer-top{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:48px;padding-bottom:48px;border-bottom:1px solid rgba(253,250,244,0.07);}
.footer-logo{display:flex;align-items:center;gap:12px;margin-bottom:18px;}
.footer-logo .logo-mon{width:46px;height:46px;}
.footer-logo .logo-name{color:rgba(253,250,244,0.8);}
.footer-logo .logo-tagline{color:rgba(253,250,244,0.3);}
.footer-tagline{font-size:14px;color:rgba(253,250,244,0.25);line-height:1.85;font-weight:300;max-width:280px;margin-bottom:24px;}
.footer-social{display:flex;gap:8px;}
.fsoc-btn{width:36px;height:36px;border-radius:50%;border:1px solid rgba(253,250,244,0.12);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.2s;color:rgba(253,250,244,0.3);font-family:var(--font-sans);font-size:11px;letter-spacing:1px;}
.fsoc-btn:hover{border-color:var(--sakura);color:var(--sakura);}
.footer-col h4{font-family:var(--font-sans);font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:20px;}
.footer-col ul{list-style:none;}
.footer-col ul li{margin-bottom:10px;}
.footer-col ul li a{font-size:13.5px;color:rgba(253,250,244,0.35);text-decoration:none;font-weight:300;transition:color 0.2s;display:flex;align-items:center;gap:8px;}
.footer-col ul li a:hover{color:var(--sakura2);}
.link-arrow{font-size:10px;opacity:0;transition:all 0.2s;}
.footer-col ul li a:hover .link-arrow{opacity:1;transform:translateX(2px);}
.footer-bottom{padding:20px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;border-top:1px solid rgba(253,250,244,0.06);}
.footer-copy{font-family:var(--font-sans);font-size:10px;letter-spacing:2px;color:rgba(253,250,244,0.18);}
.footer-jp{font-family:var(--font-jp);font-size:18px;color:rgba(253,250,244,0.07);letter-spacing:8px;}
.footer-made{font-family:var(--font-sans);font-size:10px;letter-spacing:1px;color:rgba(253,250,244,0.15);}
.footer-made span{color:var(--sakura);opacity:0.6;}

/* ── ARCHIVE BANNER ── */
.archive-banner{background:var(--ink);padding:80px 60px;position:relative;overflow:hidden;}
.archive-banner-bg{position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 80% 50%,rgba(232,114,138,0.06),transparent),radial-gradient(ellipse 80% 60% at 20% 50%,rgba(201,168,76,0.05),transparent);}
.archive-banner-content{position:relative;z-index:1;}
.archive-eyebrow{font-family:var(--font-sans);font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:12px;}
.archive-title{font-family:var(--font-serif);font-size:clamp(36px,5vw,64px);font-weight:300;color:var(--cream);letter-spacing:-1px;margin-bottom:12px;}
.archive-desc{font-size:16px;color:rgba(253,250,244,0.5);font-weight:300;max-width:500px;line-height:1.7;margin-bottom:16px;}
.archive-count{font-family:var(--font-sans);font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--sakura);}

/* ── SINGLE ARTICLE ── */
.single-hero{position:relative;height:70vh;min-height:480px;overflow:hidden;}
.single-hero-img{position:absolute;inset:0;background-size:cover;background-position:center;}
.single-hero-placeholder{background:linear-gradient(145deg,#2d1f10 0%,#1a120a 100%);}
.single-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,18,10,0.1) 0%,rgba(26,18,10,0.88) 100%);}
.single-hero-content{position:absolute;bottom:0;left:0;right:0;padding:48px 60px;z-index:2;}
.single-breadcrumb{font-family:var(--font-sans);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:rgba(253,250,244,0.35);margin-bottom:12px;display:flex;gap:8px;}
.single-breadcrumb a{color:rgba(253,250,244,0.35);text-decoration:none;transition:color 0.2s;}
.single-breadcrumb a:hover{color:var(--gold);}
.single-cat-tag{font-family:var(--font-sans);font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--sakura);margin-bottom:14px;display:inline-block;}
.single-title{font-family:var(--font-serif);font-size:clamp(28px,4vw,52px);font-weight:300;color:var(--cream);line-height:1.15;letter-spacing:-0.5px;max-width:800px;margin-bottom:20px;}
.single-meta{display:flex;align-items:center;gap:14px;font-family:var(--font-sans);font-size:12px;color:rgba(253,250,244,0.45);letter-spacing:1px;flex-wrap:wrap;}
.single-wrap{max-width:1360px;margin:0 auto;padding:56px 60px;display:grid;grid-template-columns:1fr 320px;gap:56px;}
.single-article{min-width:0;}
.share-bar{display:flex;align-items:center;gap:10px;margin-bottom:36px;padding-bottom:24px;border-bottom:1px solid var(--parchment2);}
.share-label{font-family:var(--font-sans);font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--muted);margin-right:4px;}
.share-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--parchment2);background:var(--white);display:flex;align-items:center;justify-content:center;font-size:13px;cursor:pointer;text-decoration:none;color:var(--muted);transition:all 0.2s;font-family:var(--font-sans);}
.share-btn:hover{background:var(--sakura);border-color:var(--sakura);color:var(--white);}
.single-content{font-size:17px;line-height:1.95;color:var(--ink2);font-weight:300;}
.single-content h2{font-family:var(--font-serif);font-size:clamp(22px,2.5vw,30px);font-weight:600;color:var(--ink);margin:44px 0 18px;line-height:1.2;}
.single-content h3{font-family:var(--font-serif);font-size:clamp(18px,2vw,24px);font-weight:600;color:var(--ink);margin:32px 0 14px;line-height:1.2;}
.single-content p{margin-bottom:22px;}
.single-content a{color:var(--sakura);text-decoration:none;border-bottom:1px solid rgba(232,114,138,0.3);transition:border-color 0.2s;}
.single-content a:hover{border-color:var(--sakura);}
.single-content blockquote{border-left:3px solid var(--gold);margin:32px 0;padding:20px 28px;background:var(--parchment);font-style:italic;font-size:18px;color:var(--ink2);}
.single-content img{width:100%;border-radius:var(--r);margin:24px 0;}
.single-content ul,.single-content ol{padding-left:28px;margin-bottom:22px;}
.single-content li{margin-bottom:8px;}
.single-tags{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:40px;padding-top:28px;border-top:1px solid var(--parchment2);}
.single-tags-label{font-family:var(--font-sans);font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--muted);margin-right:4px;}
.author-box{display:flex;gap:20px;align-items:flex-start;background:var(--parchment);border-radius:var(--r);padding:28px;margin-top:40px;}
.author-avatar img{width:60px;height:60px;border-radius:50%;object-fit:cover;}
.author-name{font-family:var(--font-serif);font-size:18px;font-weight:600;color:var(--ink);margin-bottom:6px;}
.author-bio{font-size:14px;color:var(--muted);line-height:1.7;font-weight:300;}
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px;padding-top:28px;border-top:1px solid var(--parchment2);}
.post-nav a{text-decoration:none;padding:20px;background:var(--white);border-radius:var(--r);border:1px solid var(--parchment2);transition:all 0.2s;}
.post-nav a:hover{border-color:var(--sakura);transform:translateY(-2px);}
.pn-label{font-family:var(--font-sans);font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--sakura);display:block;margin-bottom:6px;}
.pn-title{font-family:var(--font-serif);font-size:16px;font-weight:600;color:var(--ink);}
.post-nav-next{text-align:right;}
.related-posts{margin-top:52px;}
.comments-section{margin-top:52px;padding-top:28px;border-top:1px solid var(--parchment2);}

/* ── SEARCH PAGE ── */
.search-results-wrap{max-width:900px;margin:0 auto;padding:60px;}
.search-header{margin-bottom:40px;}
.search-header h1{font-family:var(--font-serif);font-size:36px;font-weight:300;color:var(--ink);}

/* ── RESPONSIVE ── */
@media(max-width:1100px){
  .content-wrap{grid-template-columns:1fr;padding:48px 32px;}
  .single-wrap{grid-template-columns:1fr;padding:48px 32px;}
  .sidebar{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
  .footer-top{grid-template-columns:1fr 1fr;gap:32px;}
}
@media(max-width:768px){
  .topbar{padding:7px 20px;display:none;}
  nav{padding:0 20px;grid-template-columns:auto 1fr;height:62px;}
  .nav-links{display:none;}
  .nav-hamburger{display:block;}
  .nav-right{justify-content:flex-end;}
  .hero-inner{grid-template-columns:1fr;}
  .hero-right{display:none;}
  .hero-left{padding:60px 24px;}
  .featured-grid{grid-template-columns:1fr;}
  .fg-main{grid-column:auto;grid-row:auto;}
  .articles-3col{grid-template-columns:1fr;}
  .culture-banner{grid-template-columns:1fr 1fr;}
  .sidebar{grid-template-columns:1fr;}
  .cat-strip{padding:20px 20px;}
  .content-wrap{padding:32px 20px;}
  .single-wrap{padding:32px 20px;}
  .quote-section{padding:60px 24px;}
  .footer{padding:48px 24px 0;}
  .footer-top{grid-template-columns:1fr;gap:28px;}
  .latest-item{grid-template-columns:48px auto 1fr;}
  .li-date{display:none;}
  .ticker-label{display:none;}
  .ticker-track{padding-left:16px;}
  .single-hero-content{padding:24px;}
  .single-title{font-size:26px;}
  .archive-banner{padding:48px 24px;}
  .post-nav{grid-template-columns:1fr;}
}
