/*
Theme Name: Thakuri Samaj Clean
Theme URI: https://thakurisamaj.com/
Author: Thakuri Samaj
Description: Editorial heritage archive and publishing platform.
Version: 0.2.0
Text Domain: thakuri-samaj
*/

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Newsreader:opsz,wght@6..72,400;6..72,500;6..72,600&family=Noto+Serif+Devanagari:wght@400;500;600;700&display=swap');

:root { --ivory:#f3efe7; --paper:#fbf9f4; --ink:#1d2823; --muted:#66706a; --green:#173b32; --green-deep:#102c26; --brass:#a8783f; --line:#d9d5ca; --serif:'Newsreader','Noto Serif Devanagari',Georgia,serif; --devanagari:'Noto Serif Devanagari',serif; --sans:'DM Sans',sans-serif; --content:1320px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ivory); color:var(--ink); font-family:var(--sans); line-height:1.65; }
img { display:block; width:100%; height:auto; }
a { color:inherit; text-decoration:none; }
.container { width:min(var(--content),calc(100% - 96px)); margin:0 auto; }

.site-header { position:sticky; top:0; z-index:20; background:rgba(243,239,231,.96); border-bottom:1px solid var(--line); }
.header-inner { width:min(1440px,calc(100% - 64px)); min-height:82px; margin:auto; display:flex; align-items:center; gap:32px; }
.brand { display:inline-flex; align-items:center; gap:10px; flex:0 0 auto; }
.brand-mark { display:grid; place-items:center; width:34px; height:34px; color:var(--ivory); background:var(--green); border-radius:50%; font-family:var(--devanagari); font-size:20px; }
.brand strong,.brand small { display:block; line-height:1; }
.brand strong { font:600 19px var(--serif); }
.brand small { margin-top:3px; color:var(--brass); font:600 9px var(--sans); letter-spacing:.25em; text-transform:uppercase; }
.site-nav { display:flex; align-items:center; justify-content:center; gap:clamp(12px,1.3vw,24px); flex:1 1 auto; white-space:nowrap; font:500 12px var(--sans); }
.site-nav a,.header-icon,.language-switch,.account-link { color:var(--muted); transition:color .2s ease; }
.site-nav a:hover,.header-icon:hover,.language-switch:hover,.account-link:hover { color:var(--green); }
.header-actions { display:flex; align-items:center; gap:14px; flex:0 0 auto; white-space:nowrap; font-size:12px; }
.header-icon { font-size:25px; line-height:1; }
.language-switch { font-family:var(--devanagari); font-size:11px; }
.write-link { padding-left:14px; border-left:1px solid var(--line); color:var(--green); font-weight:700; }
.write-link span,.text-link span,.button span { color:var(--brass); margin-left:6px; }
.account-menu { position:relative; }
.account-menu summary { display:grid; place-items:center; width:31px; height:31px; border:1px solid var(--green); border-radius:50%; color:var(--green); cursor:pointer; font-size:11px; list-style:none; }
.account-menu summary::-webkit-details-marker,.mobile-menu summary::-webkit-details-marker { display:none; }
.account-popover { position:absolute; right:0; top:42px; width:150px; padding:8px; background:var(--paper); border:1px solid var(--line); box-shadow:0 14px 30px rgba(16,44,38,.12); }
.account-popover a { display:block; padding:8px; font-size:12px; }
.mobile-menu { display:none; }

.hero { position:relative; min-height:min(760px,calc(100vh - 82px)); overflow:hidden; background:var(--green-deep); color:var(--paper); }
.hero-media,.hero-overlay { position:absolute; inset:0; }
.hero-media img { height:100%; object-fit:cover; object-position:center 38%; opacity:.78; }
.hero-overlay { background:linear-gradient(90deg,rgba(9,31,26,.93) 0%,rgba(9,31,26,.62) 44%,rgba(9,31,26,.08) 100%); }
.hero-content { position:relative; z-index:1; width:min(1320px,calc(100% - 96px)); min-height:min(760px,calc(100vh - 82px)); margin:auto; padding:clamp(80px,12vh,150px) 0 60px; }
.eyebrow,.kicker { margin:0 0 18px; color:var(--brass); font:700 11px var(--sans); letter-spacing:.18em; text-transform:uppercase; }
.hero h1 { max-width:770px; margin:0; font:500 clamp(47px,6vw,92px)/1.03 var(--devanagari); }
.hero h1 em { color:#d8b579; font-style:normal; }
.hero-intro { max-width:450px; margin:28px 0 30px; color:rgba(251,249,244,.85); font:400 19px/1.55 var(--serif); }
.hero-actions { display:flex; align-items:center; gap:28px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 20px; border:1px solid transparent; font-size:12px; font-weight:700; }
.button.primary { background:#c39254; color:#15261f; }
.button.dark { background:var(--green); color:var(--paper); }
.button.outline-light { border-color:rgba(251,249,244,.45); color:var(--paper); }
.text-link { display:inline-block; color:var(--green); font-size:12px; font-weight:700; border-bottom:1px solid currentColor; padding-bottom:4px; }
.text-link.light { color:var(--paper); border-color:rgba(251,249,244,.5); }
.hero-note { position:absolute; right:0; bottom:58px; display:flex; align-items:flex-start; gap:14px; color:rgba(251,249,244,.7); font:12px/1.4 var(--serif); }
.hero-note .rule { width:54px; margin-top:8px; border-top:1px solid var(--brass); }

.section { padding:clamp(72px,9vw,132px) 0; }
.feature-story { background:var(--paper); }
.feature-layout { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr); gap:clamp(44px,8vw,130px); align-items:center; }
.feature-photo { position:relative; }
.feature-photo img { aspect-ratio:1.2; object-fit:cover; filter:saturate(.78); }
.image-credit { position:absolute; left:16px; bottom:14px; color:white; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.feature-copy { max-width:500px; }
.feature-copy h2,.section-head h2,.voices-layout h2,.preserve-layout h2 { margin:0 0 24px; font:500 clamp(37px,4.2vw,64px)/1.06 var(--serif); }
.feature-copy .lead { color:var(--green); font:400 23px/1.35 var(--serif); }
.feature-copy>p:not(.kicker):not(.lead) { color:var(--muted); font-size:15px; }
.feature-copy .text-link { margin-top:18px; }
.latest-section { background:var(--ivory); }
.section-head { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:42px; }
.section-head h2 { margin-bottom:0; }
.story-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.story-card { min-width:0; }
.card-image { overflow:hidden; aspect-ratio:1.35; background:#d2cec3; }
.card-image img { height:100%; object-fit:cover; filter:saturate(.72); transition:transform .5s ease; }
.story-card:hover .card-image img { transform:scale(1.03); }
.card-body { padding:20px 0 0; }
.meta { color:var(--brass); font-size:10px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.meta span { color:var(--line); margin:0 6px; }
.card h3 { margin:10px 0 8px; font:500 27px/1.13 var(--serif); }
.card p { margin:0; color:var(--muted); font:15px/1.5 var(--serif); }
.heritage-band { padding:clamp(76px,10vw,150px) 0; background:var(--green); color:var(--paper); }
.heritage-layout { display:grid; grid-template-columns:1fr .6fr; gap:80px; }
.heritage-layout h2 { max-width:770px; margin:0 0 25px; font:500 clamp(38px,4.5vw,68px)/1.05 var(--serif); }
.heritage-layout p:not(.kicker) { max-width:440px; color:rgba(251,249,244,.68); font:18px/1.5 var(--serif); }
.light-kicker { color:#d8b579; }
.heritage-layout .button { margin-top:24px; }
.heritage-index { align-self:end; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; padding-bottom:20px; border-bottom:1px solid rgba(251,249,244,.28); color:#d8b579; font:24px var(--serif); }
.heritage-index small { grid-column:1/-1; color:rgba(251,249,244,.58); font:12px/1.45 var(--sans); letter-spacing:.12em; text-transform:uppercase; }
.voices-section { background:var(--paper); }
.voices-layout { display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.voices-layout blockquote { max-width:590px; margin:10px 0 34px; color:var(--green); font:500 clamp(27px,3vw,45px)/1.15 var(--serif); }
.preserve-section { border-top:1px solid var(--line); }
.preserve-layout { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; }
.preserve-layout p:not(.kicker) { max-width:450px; color:var(--muted); font:19px/1.5 var(--serif); }
.preserve-layout .button { margin-top:14px; }

.site-footer { padding:50px 0 36px; background:var(--green-deep); color:var(--paper); }
.footer-inner { width:min(var(--content),calc(100% - 96px)); margin:auto; display:flex; justify-content:space-between; gap:30px; }
.footer-inner strong { font:500 29px var(--serif); }
.footer-inner div:last-child { color:rgba(251,249,244,.58); font:13px var(--serif); }
.ts-auth-box,.ts-dashboard,.ts-panel { background:var(--paper); border:1px solid var(--line); border-radius:0; box-shadow:none; }
.ts-auth-box { max-width:640px; margin:0 auto; padding:32px; }
.ts-form,.ts-field { display:grid; gap:10px; }
.ts-form { gap:20px; }
.ts-field input { width:100%; padding:12px; border:1px solid var(--line); border-radius:0; font:inherit; background:white; }
.ts-dashboard { padding:clamp(24px,4vw,52px); }
.ts-dashboard-header { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:32px; }
.ts-panel-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.ts-panel { padding:24px; }
.feature-panel,.side-panel { background:var(--paper); border:1px solid var(--line); }
.feature-head,.panel-body { padding:clamp(24px,4vw,52px); }
.feature-head h1,.feature-head h2 { margin:0; color:var(--green); font:500 clamp(38px,5vw,68px)/1.05 var(--serif); }
.feature-panel .card-body { padding:clamp(24px,4vw,52px); }
.feature-panel .feature-image { min-height:300px; background:var(--green); }
.small-list { display:grid; gap:18px; }
.small-item { display:grid; grid-template-columns:72px 1fr; gap:14px; padding-top:16px; border-top:1px solid var(--line); }
.small-item:first-child { padding-top:0; border-top:0; }
.thumb { aspect-ratio:1; background:var(--green); }
.studio-page { min-height:70vh; padding:72px 0 120px; background:var(--ivory); }
.studio-heading { padding-bottom:42px; border-bottom:1px solid var(--line); }
.studio-heading h1 { margin:0 0 10px; color:var(--green); font:500 clamp(42px,5vw,68px)/1 var(--serif); }
.studio-heading>p:last-child { margin:0; color:var(--muted); font:18px var(--serif); }
.studio-content { padding-top:42px; }

@media (max-width:1180px) { .header-inner { gap:18px; } .site-nav { gap:10px; } .site-nav a:nth-child(n+6) { display:none; } .header-actions .language-switch,.header-actions .write-link { display:none; } }
@media (max-width:820px) {
  .container,.hero-content,.footer-inner { width:min(100% - 40px,var(--content)); }
  .site-nav,.header-actions { display:none; }
  .header-inner { min-height:68px; justify-content:space-between; }
  .mobile-menu { display:block; position:relative; }
  .mobile-menu summary { color:var(--green); cursor:pointer; font-size:12px; font-weight:700; list-style:none; }
  .mobile-menu nav { position:absolute; right:-10px; top:35px; display:grid; width:220px; padding:14px; gap:4px; background:var(--paper); border:1px solid var(--line); box-shadow:0 14px 30px rgba(16,44,38,.12); }
  .mobile-menu nav a { padding:8px; font-size:13px; }
  .hero { min-height:690px; } .hero-content { min-height:690px; padding-top:88px; }
  .hero-overlay { background:linear-gradient(90deg,rgba(9,31,26,.91),rgba(9,31,26,.48)); }
  .hero h1 { font-size:clamp(42px,11vw,66px); }
  .hero-note { left:0; right:auto; bottom:34px; }
  .feature-layout,.heritage-layout,.voices-layout,.preserve-layout { grid-template-columns:1fr; gap:42px; }
  .feature-copy { max-width:600px; }
  .heritage-index { max-width:500px; }
  .story-grid { grid-template-columns:1fr; gap:44px; }
  .card-image { aspect-ratio:1.65; }
}
@media (max-width:520px) {
  .section { padding:68px 0; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:20px; }
  .hero-intro { font-size:18px; }
  .section-head { align-items:flex-start; flex-direction:column; margin-bottom:30px; }
  .feature-copy h2,.section-head h2,.voices-layout h2,.preserve-layout h2 { font-size:40px; }
  .footer-inner { flex-direction:column; }
  .ts-panel-grid { grid-template-columns:1fr; }
  .ts-dashboard-header { align-items:flex-start; flex-direction:column; }
}