
:root{
  --bg:#ece5db;
  --shell:#fbf8f3;
  --paper:#ffffff;
  --text:#342622;
  --muted:#7f726c;
  --maroon:#8c1418;
  --maroon-dark:#6f0f13;
  --gold:#cb9636;
  --gold-soft:#ddbe78;
  --line:#e8ddd2;
  --shadow:0 14px 30px rgba(65,42,28,.08);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--text);font-family:"Source Sans 3",Arial,"Helvetica Neue",Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{width:min(100% - 44px,1310px);margin-inline:auto}
.sr-only{position:absolute;left:-9999px}

.site-shell{width:min(calc(100% - 36px),1385px);margin:18px auto;background:var(--shell);border-radius:22px;overflow:hidden;box-shadow:0 10px 26px rgba(54,37,26,.08)}

.maintenance-admin-strip{background:#551014;color:#fff;font-size:14px;box-shadow:0 2px 10px rgba(0,0,0,.12)}
.maintenance-admin-strip .wrap{display:flex;align-items:center;gap:14px;padding:10px 0}
.maintenance-admin-strip strong{background:#f2c772;color:#4c1f00;padding:3px 10px;border-radius:999px;font-size:12px;letter-spacing:.03em;text-transform:uppercase}
.maintenance-admin-strip span{flex:1;line-height:1.4}
.maintenance-admin-strip a{font-weight:700;text-decoration:underline}


.maintenance-body{
  min-height:100vh;
  margin:0;
  padding:0;
  overflow:hidden;
  background:#1f100b;
  color:#f7ead7;
}
.maintenance-page{
  width:100vw;
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:0;
  margin:0;
  background:
    radial-gradient(circle at 50% 18%, rgba(150,89,43,.26), transparent 48%),
    #1f100b;
}
.maintenance-picture{
  display:block;
  width:100vw;
  height:100vh;
  line-height:0;
}
.maintenance-art{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  user-select:none;
  -webkit-user-drag:none;
  pointer-events:none;
}
.maintenance-sr{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
@media (max-width:700px){
  .maintenance-page{
    background:#1a0d09;
  }
}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:10px;border:1px solid transparent;font-weight:700;line-height:1;cursor:pointer;transition:.18s ease}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:linear-gradient(180deg,#a61920,#7d1015);color:#fff;box-shadow:0 8px 18px rgba(124,16,21,.22)}
.btn-primary:hover{background:linear-gradient(180deg,#b01d24,#871116)}
.btn-outline{background:#fff;border-color:#c9b7ab;color:#5d1f21}
.btn-outline:hover{border-color:#ab9183;background:#fffaf8}
.btn-ghost{background:rgba(29,19,14,.14);backdrop-filter:blur(2px);border-color:rgba(255,255,255,.58);color:#fff}
.btn-ghost:hover{background:rgba(29,19,14,.25)}
.btn-small{min-height:36px;padding:0 17px;font-size:12px;font-weight:600}
.btn-large{min-height:43px;padding:0 22px;font-size:15px;font-weight:600}

.site-header{background:linear-gradient(180deg,#fbfaf7 0%,#f8f4ee 100%)}
.brand-row{height:102px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e8ded3}
.brand-image{display:block;line-height:0}
.brand-logo-image{width:310px;max-width:100%;height:auto}
.header-motto{text-align:right;color:#7c5b42}
.header-motto strong{display:inline-block;font:italic 400 17px/1.15 "Cormorant Garamond",Georgia,"Times New Roman",Times,serif;color:#8a5234;padding-bottom:6px;border-bottom:1px solid #cbb39b;letter-spacing:.01em}
.header-links{display:flex;justify-content:flex-end;align-items:center;gap:18px;flex-wrap:wrap;margin-top:10px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#715f54;font-weight:700}.header-links a{position:relative;color:#715f54}.header-links a:hover{color:#8c1418}.header-links a:not(:last-child):after{content:"|";position:absolute;right:-11px;top:0;color:#b59c87}

.nav-row{background:#fff;border-top:1px solid #f0e7dc;border-bottom:1px solid #e6ddd2}
.nav-inner{height:66px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.main-nav{display:flex;align-items:center;gap:32px;height:100%;overflow-x:auto;scrollbar-width:none}
.main-nav::-webkit-scrollbar{display:none}
.main-nav a{position:relative;height:100%;display:flex;align-items:center;font-size:13px;line-height:1;font-weight:500;color:#5d4a44;white-space:nowrap}
.main-nav a.active,.main-nav a:hover{color:#7d1015}
.main-nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;border-radius:4px 4px 0 0;background:var(--maroon)}
.nav-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
.search-form{display:flex;align-items:center;height:42px;padding:0 10px 0 4px;border-right:1px solid #decec2;min-width:0}
.search-form input{width:0;opacity:0;border:0;outline:0;background:transparent;font-size:14px;transition:.2s ease;padding:0;color:#5b4b44}
.search-form:focus-within input,.search-form:hover input{width:126px;opacity:1;padding-left:6px}
.search-form button{width:34px;height:34px;border:0;background:transparent;border-radius:50%;display:grid;place-items:center;color:#901217;cursor:pointer}
.search-form svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2}
.account-link{max-width:148px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700;color:#5e2d2d}

.hero{position:relative;isolation:isolate;background-image:var(--hero);background-size:cover;background-position:center center;z-index:0}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,11,9,.76) 0%,rgba(18,13,10,.60) 28%,rgba(54,32,16,.18) 62%,rgba(20,14,10,.52) 100%);z-index:-1}
.hero:after{content:"";position:absolute;inset:auto 0 0;height:30%;background:linear-gradient(0deg,rgba(20,12,8,.28),transparent);z-index:-1}
.hero-inner{min-height:330px;display:flex;align-items:center;justify-content:space-between;gap:42px;padding:28px 0}
.hero-copy{max-width:620px;color:#fff}
.eyebrow{display:flex;align-items:center;gap:15px;color:#f0dfb4;font:500 18px/1.2 "Cormorant Garamond",Georgia,"Times New Roman",Times,serif;letter-spacing:.015em}
.eyebrow:after{content:"";width:115px;height:1px;background:rgba(232,198,126,.95)}
.hero h1{margin:8px 0 10px;font:500 48px/.98 "Cormorant Garamond",Georgia,"Times New Roman",Times,serif;color:#fff;letter-spacing:-.03em;text-shadow:0 3px 12px rgba(0,0,0,.25)}
.hero h1 em{font-style:normal;color:#efc66b}
.hero p{max-width:560px;margin:0;color:#f5f0ea;font-size:15px;line-height:1.58;font-weight:400;text-shadow:0 2px 8px rgba(0,0,0,.38)}
.hero-actions{display:flex;gap:14px;margin-top:24px}
.hero-message{align-self:flex-end;text-align:right;color:#fff;line-height:1.34;margin:0 84px 18px 0;max-width:290px;text-shadow:0 2px 8px rgba(0,0,0,.45)}
.hero-message .khmer{font-family:"Noto Serif Khmer","Khmer OS","Leelawadee UI",serif;font-size:21px;font-weight:500;margin-bottom:10px}
.hero-message div:last-child{font:500 18px/1.34 "Cormorant Garamond",Georgia,"Times New Roman",Times,serif}
.hero-message em{font-style:italic;color:#f2dec1}

.content-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(350px,.92fr);gap:28px;padding:0 0 20px}
.featured-column{padding:22px 0 0}
.discussions-column{border-left:1px solid var(--line);padding:22px 0 0 28px}
.section-heading{height:34px;display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:13px}
.section-heading h2{margin:0;display:flex;align-items:center;gap:10px;font-size:15px;color:#662024;font-weight:700}
.section-heading h2>span{width:5px;height:22px;background:var(--maroon);border-radius:999px}
.section-heading a{font-size:12px;color:#901317;font-weight:700}
.section-heading a:hover{text-decoration:underline}
.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.article-card{background:#fff;border:1px solid #eee4da;border-radius:10px;overflow:hidden;box-shadow:0 5px 15px rgba(67,43,30,.06);display:flex;flex-direction:column}
.article-image{display:block;aspect-ratio:16/8;background-size:cover;background-position:center;position:relative}
.article-image:after{content:"";position:absolute;inset:0;box-shadow:inset 0 -20px 30px rgba(0,0,0,.07)}
.article-body{padding:12px 13px 12px;display:flex;flex-direction:column;flex:1;min-height:179px}
.tag{align-self:flex-start;background:#f8ecd7;color:#7c5a1e;border:1px solid #ecdab7;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:600;margin-bottom:8px}
.article-card h3{margin:0 0 8px;font-size:15px;line-height:1.22;color:#211815;font-weight:600}
.article-card h3 a:hover{color:var(--maroon)}
.article-card p{margin:0;color:#6d625c;font-size:12.5px;line-height:1.5;flex:1}
.article-meta{display:flex;justify-content:space-between;gap:10px;margin-top:10px;padding-top:8px;border-top:1px solid #f1e8df;color:#8a7b74;font-size:10.5px;white-space:nowrap}
.article-card.is-placeholder .tag{background:#f5efe6;color:#8c6f43}

.discussion-list{display:flex;flex-direction:column}
.discussion{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid #eee6de;min-height:53px}
.discussion:last-child{border-bottom:0}
.discussion:hover .discussion-copy strong{color:var(--maroon)}
.avatar{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#8d1118,#5f0c10);color:#fff;font:700 16px/1 "Cormorant Garamond",Georgia,"Times New Roman",Times,serif;box-shadow:inset 0 0 0 2px rgba(255,255,255,.16)}
.discussion-copy{min-width:0;display:flex;flex-direction:column;gap:3px}
.discussion-copy strong{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#30221e;font-weight:600}
.discussion-copy small{font-size:10.5px;color:#8a7d77;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reply-count{display:flex;align-items:center;gap:5px;color:#6e625d;font-size:11px;font-weight:600}
.reply-count svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6}
.discussion.is-placeholder{opacity:.72}
.discussion.is-placeholder .avatar{background:#d9c7b5;color:#704a34}

.community-band{border-top:1px solid #e8ded2;background:radial-gradient(circle at 15% 22%,rgba(203,147,54,.08),transparent 26%),linear-gradient(180deg,#faf4eb,#f7efe4);position:relative;overflow:hidden}
.community-band:after{content:"";position:absolute;right:-62px;bottom:-106px;width:235px;height:235px;border:2px solid rgba(195,137,44,.18);border-radius:48% 52% 45% 55%;transform:rotate(25deg)}
.community-inner{min-height:125px;display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:34px;align-items:center;padding:12px 0 16px}
.community-main{min-width:0}
.community-title{margin-bottom:8px}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.stat{display:flex;align-items:center;gap:10px}
.stat-icon{width:32px;height:32px;display:grid;place-items:center;color:var(--gold);font-size:20px;flex:0 0 auto}
.stat div{display:flex;flex-direction:column;min-width:0}
.stat strong{font-size:22px;line-height:1;font-weight:700;color:#2a201d}
.stat b{font-size:12px;margin-top:4px}
.stat small{font-size:10.5px;color:#8c7c75;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.community-band blockquote{margin:0;text-align:center;font:italic 400 17px/1.3 "Cormorant Garamond",Georgia,"Times New Roman",Times,serif;color:#9f683c;position:relative;padding:10px 24px}
.community-band blockquote:after{content:"";display:block;width:70px;height:1px;background:var(--gold-soft);margin:12px auto 0}

.site-footer{background:linear-gradient(100deg,#5e090d,#7e1115 58%,#650b0f);color:#f8ead9}
.footer-inner{min-height:72px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px}
.footer-left{display:flex;align-items:center;gap:32px;min-width:0}
.brand-footer{flex:0 0 auto}
.brand-footer .brand-copy strong{display:block;font:600 29px/1 "Cormorant Garamond",Georgia,"Times New Roman",Times,serif;color:#efc66d}
.brand-footer .brand-copy small{display:block;font-size:12px;line-height:1.25;color:#f0d8bf;margin-top:6px}
.footer-links{display:flex;align-items:center;gap:22px;font-family:"Source Sans 3",Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:13px;line-height:1.2;font-weight:500;white-space:nowrap;justify-content:flex-start;flex-wrap:wrap}
.footer-links a{font-style:normal;letter-spacing:0;text-transform:none}.footer-links a:hover{color:#f1c670}
.footer-message{text-align:right;display:flex;flex-direction:column;gap:4px;color:#ead4bf;font:italic 500 16px/1.22 "Cormorant Garamond",Georgia,"Times New Roman",Times,serif}
.footer-message strong{font-family:"Noto Serif Khmer","Khmer OS","Leelawadee UI",serif;color:#f0c874;font-size:19px;font-style:normal}

@media (max-width:1180px){
  .header-motto{display:none}
  .content-grid{grid-template-columns:1fr}
  .discussions-column{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:17px}
  .community-inner{grid-template-columns:1fr 260px}
}
@media (max-width:920px){
  .site-shell{width:100%;margin:0;border-radius:0}
  .wrap{width:min(100% - 30px,760px)}
  .brand-row{height:88px}
  .brand-logo-image{width:265px}
  .nav-inner{height:auto;display:block;padding:10px 0}
  .main-nav{height:auto;padding-bottom:8px;gap:24px}
  .main-nav a{height:auto;padding:8px 0}
  .main-nav a.active:after{bottom:1px;height:3px}
  .nav-actions{justify-content:space-between;border-top:1px solid #eee5db;padding-top:9px}
  .search-form{border-right:0;padding-left:0}
  .search-form input,.search-form:focus-within input,.search-form:hover input{width:120px;opacity:1;padding-left:6px}
  .hero,.hero-inner{min-height:405px}
  .hero-inner{align-items:flex-end;padding-bottom:32px}
  .hero h1{font-size:45px}
  .hero-message{display:none}
  .article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .article-card:nth-child(3){display:none}
  .community-inner{grid-template-columns:1fr}
  .community-band blockquote{border-top:1px solid #eadfce;padding-top:17px}
  .footer-inner{grid-template-columns:1fr;justify-items:center;text-align:center;padding:18px 0}
  .footer-left{flex-direction:column;gap:14px;justify-content:center}
  .footer-links{justify-content:center}
  .footer-message{text-align:center}
  .maintenance-admin-strip .wrap{padding:8px 0;align-items:flex-start;flex-wrap:wrap}
  .maintenance-admin-strip span{flex-basis:100%}
}
@media (max-width:620px){
  .wrap{width:min(100% - 24px,560px)}
  .brand-row{justify-content:center;padding:13px 0;height:auto}
  .brand-logo-image{width:235px}
  .main-nav{gap:18px}
  .nav-actions{gap:8px}
  .nav-actions .btn-small{padding:0 12px;font-size:15px}
  .account-link{max-width:90px}
  .hero{background-position:54% center}
  .hero,.hero-inner{min-height:418px}
  .hero-shade{background:linear-gradient(90deg,rgba(16,11,7,.82),rgba(30,18,10,.56) 80%,rgba(16,11,7,.36))}
  .eyebrow{font-size:16px}
  .eyebrow:after{width:66px}
  .hero h1{font-size:38px}
  .hero p{font-size:14px}
  .hero-actions{flex-direction:column;align-items:flex-start}
  .btn-large{width:min(100%,260px)}
  .content-grid{padding-bottom:18px}
  .article-grid{grid-template-columns:1fr}
  .article-card:nth-child(3){display:flex}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}
  .footer-links{flex-wrap:wrap;justify-content:center;gap:12px 20px}
  .maintenance-page{width:min(100% - 24px,560px);padding-top:7vh}
  .maintenance-card{padding:0 8px;background:transparent}
  .maintenance-brand-line{flex-direction:column;align-items:center;gap:4px;margin-bottom:18px}
  .maintenance-card h1{font-size:40px}
  .maintenance-card p{font-size:18px}
  .maintenance-khmer{font-size:22px!important}
}

/* Custom Gallery + News presentation pages */
.subpage-main{background:linear-gradient(180deg,#fbf8f3 0%,#fff 52%,#fbf7f1 100%)}
.page-intro{border-bottom:1px solid #eadfd3;background:radial-gradient(circle at 82% 16%,rgba(201,149,57,.11),transparent 30%),linear-gradient(135deg,#f6ecdf,#fbf8f3 58%,#f2e4d2)}
.page-intro-inner{min-height:250px;display:flex;align-items:center;justify-content:space-between;gap:54px;padding-top:34px;padding-bottom:34px}
.page-intro-inner>div{max-width:760px}
.page-eyebrow{display:inline-flex;align-items:center;gap:11px;margin-bottom:10px;color:#8c1418;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.page-eyebrow:before{content:"";width:32px;height:2px;background:#cb9636;border-radius:999px}
.page-intro h1{margin:0;color:#2d201c;font:600 46px/1.02 "Cormorant Garamond",Georgia,"Times New Roman",Times,serif;letter-spacing:-.025em}
.page-intro p{max-width:720px;margin:14px 0 0;color:#6f625b;font-size:16px;line-height:1.65}
.page-intro .btn{flex:0 0 auto}
.page-intro-secondary{background:rgba(255,255,255,.68)}
.page-content{padding-top:34px;padding-bottom:44px}
.page-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}
.page-section-heading h2{margin:2px 0 0;color:#2c201c;font:600 30px/1.05 "Cormorant Garamond",Georgia,"Times New Roman",Times,serif}
.page-section-heading>a{font-size:13px;font-weight:700;color:#8c1418}
.page-section-heading>a:hover{text-decoration:underline}
.page-kicker{color:#9d7b58;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.page-empty-state{padding:58px 28px;text-align:center;border:1px dashed #d9c6b4;border-radius:14px;background:#fffaf5}
.page-empty-state h2{margin:0;color:#3b2923;font:600 30px/1.08 "Cormorant Garamond",Georgia,"Times New Roman",Times,serif}
.page-empty-state p{max-width:620px;margin:12px auto 22px;color:#756860;font-size:15px;line-height:1.6}

.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.gallery-card{overflow:hidden;background:#fff;border:1px solid #eadfd5;border-radius:12px;box-shadow:0 8px 20px rgba(65,42,28,.06);display:flex;flex-direction:column;min-width:0}
.gallery-card-media{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;background:#e8ddd2}
.gallery-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .28s ease}
.gallery-card:hover .gallery-card-media img{transform:scale(1.025)}
.gallery-card-media:after{content:"";position:absolute;inset:auto 0 0;height:30%;background:linear-gradient(0deg,rgba(31,19,13,.18),transparent);pointer-events:none}
.gallery-card-media-empty{display:grid;place-items:center;background:radial-gradient(circle at 30% 28%,rgba(203,150,54,.17),transparent 24%),linear-gradient(145deg,#efe6da,#dfcdb9)}
.gallery-card-media-empty span{display:flex;flex-direction:column;align-items:center;gap:5px;color:#775d4e;text-align:center}
.gallery-card-media-empty b{font:600 24px/1 "Cormorant Garamond",Georgia,"Times New Roman",Times,serif}
.gallery-card-media-empty small{font-size:11px}
.gallery-card-body{padding:16px 16px 15px;display:flex;flex-direction:column;flex:1}
.gallery-card h2{margin:0 0 8px;color:#2f211d;font:600 23px/1.1 "Cormorant Garamond",Georgia,"Times New Roman",Times,serif}
.gallery-card h2 a:hover{color:#8c1418}
.gallery-card p{margin:0;color:#6f625b;font-size:13.5px;line-height:1.55;flex:1}
.gallery-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px 12px;margin-top:14px;padding-top:11px;border-top:1px solid #f0e7de;color:#8d7d74;font-size:10.5px}
.gallery-card-meta span+time:before,.gallery-card-meta time+span:before{content:"•";margin-right:12px;color:#c1aa95}

.news-section-tabs{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:24px}
.news-section-tabs a{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border:1px solid #dfd0c2;border-radius:999px;background:#fff;color:#6f4740;font-size:12px;font-weight:700}
.news-section-tabs a:hover{border-color:#b99274;color:#8c1418;background:#fffaf5}
.news-feature{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);overflow:hidden;border:1px solid #e7dbcf;border-radius:14px;background:#fff;box-shadow:0 10px 26px rgba(67,43,30,.07)}
.news-feature-media{min-height:390px;overflow:hidden;background:#e7ded5}
.news-feature-media img{width:100%;height:100%;object-fit:cover}
.news-feature-copy{padding:34px 34px 30px;display:flex;flex-direction:column;justify-content:center}
.news-label{align-self:flex-start;display:inline-flex;align-items:center;min-height:27px;padding:0 10px;border-radius:999px;background:#f8ecd7;border:1px solid #ecdab7;color:#7c5a1e;font-size:11px;font-weight:700}
.news-feature h2{margin:12px 0 12px;color:#2c201c;font:600 37px/1.04 "Cormorant Garamond",Georgia,"Times New Roman",Times,serif;letter-spacing:-.02em}
.news-feature h2 a:hover,.news-card h2 a:hover{color:#8c1418}
.news-feature p{margin:0;color:#6d6059;font-size:14.5px;line-height:1.62}
.news-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px 13px;margin-top:18px;color:#8a7a71;font-size:11px}
.news-meta>*+*:before{content:"•";margin-right:13px;color:#c2ab97}
.read-story-link{align-self:flex-start;margin-top:18px;color:#8c1418;font-size:13px;font-weight:700}
.read-story-link:hover{text-decoration:underline}
.news-latest-heading{margin-top:34px}
.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px}
.news-card{overflow:hidden;background:#fff;border:1px solid #eadfd5;border-radius:12px;box-shadow:0 7px 18px rgba(65,42,28,.055);display:flex;flex-direction:column}
.news-card-media{display:block;aspect-ratio:16/9;overflow:hidden;background:#e8ddd2}
.news-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.news-card:hover .news-card-media img{transform:scale(1.02)}
.news-card-body{padding:15px 15px 14px;display:flex;flex-direction:column;flex:1}
.news-card h2{margin:10px 0 8px;color:#2d201c;font:600 23px/1.08 "Cormorant Garamond",Georgia,"Times New Roman",Times,serif}
.news-card p{margin:0;color:#6f625b;font-size:13px;line-height:1.55;flex:1}
.news-card .news-meta{padding-top:11px;border-top:1px solid #f0e7de;margin-top:14px}

@media (max-width:1100px){
  .gallery-grid,.news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .news-feature{grid-template-columns:1fr 1fr}
  .news-feature-copy{padding:28px}
  .news-feature h2{font-size:33px}
}
@media (max-width:820px){
  .page-intro-inner{min-height:0;align-items:flex-start;flex-direction:column;gap:22px;padding-top:31px;padding-bottom:31px}
  .page-intro h1{font-size:40px}
  .page-intro .btn{width:auto}
  .news-feature{grid-template-columns:1fr}
  .news-feature-media{min-height:0;aspect-ratio:16/9}
}
@media (max-width:620px){
  .page-intro h1{font-size:35px}
  .page-intro p{font-size:15px}
  .page-content{padding-top:26px;padding-bottom:32px}
  .page-section-heading{align-items:flex-start;flex-direction:column;gap:7px}
  .page-section-heading h2{font-size:27px}
  .gallery-grid,.news-grid{grid-template-columns:1fr}
  .gallery-card h2,.news-card h2{font-size:24px}
  .news-feature-copy{padding:24px 20px 23px}
  .news-feature h2{font-size:31px}
  .news-section-tabs{gap:8px}
  .news-section-tabs a{font-size:11px;padding:0 12px}
}


/* BeKhmer v0.5.0 — shared portal/forum visual system */
:root{
  --bk-display:"Cormorant Garamond",Georgia,"Times New Roman",Times,serif;
  --bk-body:"Source Sans 3",Arial,"Helvetica Neue",Helvetica,sans-serif;
}
body{font-family:var(--bk-body)}
.brand-row{height:90px;justify-content:flex-start}
.brand-logo-image{width:286px}
.header-motto,.header-links,.page-eyebrow,.page-kicker,.hero-message{display:none!important}
.main-nav a{font-size:14px;font-weight:600}
.hero-inner{min-height:315px;padding:34px 0}
.hero-copy{max-width:600px}
.hero h1{margin:0 0 10px;font:600 48px/1 var(--bk-display);letter-spacing:-.025em}
.hero p{max-width:525px;font-size:16px;line-height:1.5}
.hero-actions{margin-top:20px}
.section-heading h2{font-size:17px}
.article-card h3{font-size:17px;line-height:1.25}
.article-card p{font-size:14px;line-height:1.48}
.discussion-title{font-size:14px}
.community-band blockquote{display:none!important}
.stat small{display:none!important}
.site-footer{background:#741116;color:#fff}
.footer-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0}
.brand-footer{color:#f2d488;font:600 27px/1 var(--bk-display)}
.footer-links{display:flex;align-items:center;gap:22px;flex-wrap:wrap;color:#f8ede5;font-size:14px}
.footer-links a:hover{color:#f2d488}
.footer-copyright{color:#e7d2c7;font-size:13px;white-space:nowrap}
.footer-left,.footer-message{display:none!important}
.page-intro-inner{min-height:190px;padding-top:28px;padding-bottom:28px}
.page-intro h1{font:600 38px/1.04 var(--bk-display);letter-spacing:-.018em}
.page-intro p{margin-top:10px;max-width:660px;font-size:15px;line-height:1.5}
.page-section-heading{align-items:center}
.page-section-heading h2{margin:0;font:600 27px/1.05 var(--bk-display)}
.gallery-card h2,.news-card h2{font-size:21px}
.gallery-card p,.news-card p{font-size:13.5px;line-height:1.48}
.news-feature h2{font-size:34px}
.news-feature p{font-size:14px;line-height:1.52}
@media(max-width:900px){
  .brand-row{height:82px}
  .brand-logo-image{width:255px}
  .footer-inner{flex-direction:column;justify-content:center;text-align:center}
  .footer-links{justify-content:center}
}
@media(max-width:620px){
  .hero h1{font-size:38px}
  .hero p{font-size:15px}
  .page-intro h1{font-size:33px}
  .main-nav a{font-size:13px}
}

/* v0.5.0 readability pass */
.section-heading a,.article-meta,.discussion-copy small,.reply-count,.gallery-card-meta,.news-meta{font-size:12px}


/* v0.5.1 — approved v0.4.44 forum footer shared by the portal. */
/* v0.4.24 — continuous 50% crimson tint across the utility + copyright footer band */
/* v0.4.25 — footer-only typography/readability refinement */

.bk-footer {
  position:relative; margin:0; padding:0; overflow:hidden; border:0; border-radius:0 0 22px 22px;
  background:
    linear-gradient(90deg,rgba(48,0,4,.26) 0%,rgba(48,0,4,.15) 34%,rgba(48,0,4,.06) 62%,rgba(48,0,4,.03) 100%),
    url("../images/bekhmer/bekhmer-footer-banner-v0423.webp") right center/cover no-repeat;
  background-color:#72090e; color:#f7eadc;
}
.bk-footer::before { content:none; }
.bk-footer::after { content:none; }
.bk-footer-main {
  position:relative; z-index:1; display:grid;
  grid-template-columns:minmax(320px,350px) 140px 150px minmax(260px,1fr);
  gap:30px; align-items:center; min-height:330px; padding:44px 250px 38px 42px;
}
.bk-footer-brand-column { width:min(100%,350px); min-width:0; align-self:center; }
.bk-footer-logo { display:block; width:100%; margin:0 0 4px; }
.bk-footer-logo img { display:block; width:100%; height:auto; filter:none; opacity:1; }
.bk-footer-slogan {
  display:grid; grid-template-columns:max-content max-content max-content max-content max-content; justify-content:space-between; align-items:center; width:100%; max-width:none;
  padding-top:6px; border-top:1px solid rgba(240,198,102,.72);
}
.bk-footer-slogan strong { color:#f3d27f; font:600 20px/1.12 var(--bk-serif); white-space:nowrap; }
.bk-footer-slogan strong:nth-of-type(1) { text-align:left; }
.bk-footer-slogan strong:nth-of-type(2) { text-align:center; }
.bk-footer-slogan strong:nth-of-type(3) { text-align:right; }
.bk-footer-slogan b { color:#efc568; font:400 18px/1 var(--bk-sans); }
.bk-footer-column {
  display:flex; flex-direction:column; align-items:flex-start; align-self:stretch; justify-content:flex-start; gap:12px; min-width:0;
  box-sizing:border-box; padding:38px 0 0 26px; border-left:1px solid rgba(240,198,102,.48);
}
.bk-footer-column h3 {
  margin:0 0 10px; padding:0; border:0; color:#fff;
  font:800 18px/1.2 var(--bk-sans); letter-spacing:.055em; text-transform:uppercase; text-decoration:none; text-shadow:0 1px 2px rgba(35,0,3,.50);
}
.bk-footer-column h3::after { content:none; }
.bk-footer-column a { color:#fff4e9!important; font-size:17px; line-height:1.42; font-weight:500; text-decoration:none; text-shadow:0 1px 2px rgba(35,0,3,.50); }
.bk-footer-column a:hover,.bk-footer-column a:focus { color:#f4ce70!important; text-decoration:none; }
.bk-footer-culture {
  align-self:end; width:min(100%,340px); margin:0 0 24px; padding:0; color:#f6e0c8;
  text-shadow:0 1px 3px rgba(39,0,2,.55);
}
.bk-footer-culture > span { display:block; color:#f7e2ca; font:italic 20px/1.2 var(--bk-serif); }
.bk-footer-culture > strong { display:block; margin-top:4px; color:#f2c85e; font:italic 30px/1.08 var(--bk-serif); font-weight:600; }
.bk-footer-culture p { max-width:340px; margin:13px 0 0; color:#fff5e9; font-family:"Noto Sans Khmer","Khmer OS",sans-serif; font-size:18px; line-height:1.5; font-weight:600; }
.bk-footer-temple { display:none!important; }
.bk-footer-utility {
  position:relative; z-index:2; min-height:52px; display:flex; align-items:center; justify-content:space-between; gap:20px;
  padding:10px 46px; border-top:1px solid rgba(255,255,255,.13); background:rgba(92,7,13,.50);
  color:#ead7c2; font-size:15px; line-height:1.4; text-shadow:0 1px 2px rgba(35,0,3,.48);
}
.bk-footer-utility-left,.bk-footer-utility-right { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.bk-footer-utility a { color:#f1dfcc!important; text-decoration:none; }
.bk-footer-utility a:hover,.bk-footer-utility a:focus { color:#fff!important; }
.bk-copyright {
  position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
  margin:0; padding:13px 46px 16px; border-top:1px solid rgba(255,255,255,.07); background:rgba(92,7,13,.50);
  color:#dfc8af; text-align:left; font-size:14px; line-height:1.4; text-shadow:0 1px 2px rgba(35,0,3,.48);
}
.bk-copyright-motto { margin-left:auto; color:#ecd7bd; }
.bk-copyright-motto b { padding:0 6px; color:#efc568; font-weight:400; }
.bk-copyright p { margin:0; }
.bk-copyright a { color:#efd9bd!important; }

@media (max-width:1180px) {
  .bk-footer-main { grid-template-columns:minmax(300px,1.2fr) minmax(135px,.55fr) minmax(145px,.6fr); grid-template-rows:auto auto; min-height:0; padding:38px 245px 32px 34px; gap:30px; }
  .bk-footer-culture { grid-column:1 / -1; grid-row:2; align-self:start; width:min(100%,540px); margin:0; }
}
@media (max-width:900px) {
  .bk-footer { background-position:82% center; }
  .bk-footer-main { grid-template-columns:1fr 1fr; padding:34px 30px 30px; gap:28px 30px; }
  .bk-footer-column { padding:0; border-left:0; align-self:start; }
  .bk-footer-brand-column,.bk-footer-culture { grid-column:1 / -1; }
  .bk-footer-culture { width:min(100%,500px); }
  .bk-footer-utility,.bk-copyright { padding-left:30px; padding-right:30px; }
}
@media (max-width:620px) {
  .bk-footer { border-radius:0; background-position:88% center; }
  .bk-footer-main { grid-template-columns:1fr; padding:30px 22px 27px; gap:26px; }
  .bk-footer-brand-column,.bk-footer-culture { grid-column:auto; }
  .bk-footer-brand-column { width:min(100%,340px); }
  .bk-footer-logo { width:100%; }
  .bk-footer-slogan { display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-start; }
  .bk-footer-slogan strong { font-size:18px; }
  .bk-footer-slogan b { font-size:16px; }
  .bk-footer-utility { padding:11px 22px; flex-direction:column; align-items:flex-start; }
  .bk-footer-utility-left,.bk-footer-utility-right { justify-content:flex-start; }
  .bk-copyright { padding:13px 22px 17px; flex-direction:column; align-items:flex-start; }
  .bk-copyright-motto { margin-left:0; }
}



/* v0.5.2 — restore functional upper-right links and tighten the primary nav. */
@media (min-width:901px) {
  .brand-row { justify-content:space-between; }
  .header-motto { display:block!important; }
  .header-links { display:flex!important; }

  .nav-inner { height:52px; }
  .main-nav a { line-height:1.35; }
  .main-nav a.active:after { bottom:11px; height:3px; }
  .nav-actions { gap:10px; }
  .search-form { height:36px; }
  .search-form button { width:32px; height:32px; }
  .nav-actions .btn-small { min-height:34px; padding:0 15px; }
}
@media (max-width:900px) {
  .header-motto,.header-links { display:none!important; }
}

/* v0.5.7 — richer top-header scenery and translucent navigation over the hero. */
.brand-row{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:linear-gradient(180deg,#fbfaf7 0%,#f8f4ee 100%);
}
.brand-row::before{
  content:"";
  position:absolute;
  z-index:0;
  left:50%;
  bottom:0;
  width:min(980px,74%);
  height:clamp(86px,8.4vw,118px);
  transform:translateX(-50%);
  background:url("/assets/images/bekhmer/bekhmer-header-skyline-v0507.webp") center bottom/cover no-repeat;
  opacity:.38;
  mix-blend-mode:multiply;
  pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 5%,#000 95%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 5%,#000 95%,transparent 100%);
}
.brand-row>*{position:relative;z-index:1}

@media (min-width:901px){
  .site-header{position:relative;z-index:3;background:transparent}
  .nav-row{
    position:relative;
    z-index:4;
    background:rgba(255,250,245,.52);
    border-top:1px solid rgba(240,231,220,.66);
    border-bottom:1px solid rgba(230,221,210,.72);
  }
  .main-nav a,.account-link,.search-form button{text-shadow:0 1px 0 rgba(255,255,255,.72)}
  .hero{margin-top:-52px}
  .hero-inner{min-height:367px;padding:86px 0 34px}
}

@media (max-width:900px){
  .brand-row::before{width:min(640px,72%);height:80px;opacity:.30}
}
@media (max-width:620px){
  .brand-row::before{display:none}
}

/* v0.5.8 — keep the hero below navigation; carry the top scenic header through the menu row. */
@media (min-width:901px){
  .site-header{
    position:relative;
    isolation:isolate;
    z-index:3;
    background:linear-gradient(180deg,#fbfaf7 0%,#f8f4ee 100%);
  }
  .site-header::before{
    content:"";
    position:absolute;
    z-index:0;
    left:50%;
    bottom:0;
    width:min(1200px,86%);
    height:142px;
    transform:translateX(-50%);
    background:url("/assets/images/bekhmer/bekhmer-header-skyline-v0507.webp") center bottom/100% auto no-repeat;
    opacity:.38;
    mix-blend-mode:multiply;
    pointer-events:none;
  }
  .brand-row{
    position:relative;
    z-index:1;
    overflow:visible;
    background:transparent;
  }
  .brand-row::before{content:none!important;display:none!important}
  .nav-row{
    position:relative;
    z-index:1;
    background:rgba(255,250,245,.50);
    border-top:1px solid rgba(240,231,220,.68);
    border-bottom:1px solid rgba(230,221,210,.76);
  }
  .hero{
    margin-top:0;
    background-position:center top;
  }
  .hero-inner{
    min-height:315px;
    padding:34px 0;
  }
}

/* v0.5.9 — keep the approved people hero separate from navigation, and let the
   top countryside artwork run continuously through the 50% tinted menu row. */
@media (min-width:901px){
  .site-header::before{
    top:0;
    bottom:auto;
    height:154px;
    background:url("../images/bekhmer/bekhmer-header-skyline-v0507.webp") center bottom/100% 154px no-repeat;
  }
  .nav-row{
    background:rgba(255,250,245,.50);
  }
  .hero{
    margin-top:0;
    background-position:center top;
    background-size:cover;
  }
  .hero-inner{
    min-height:315px;
    padding:34px 0;
  }
}

/* v0.5.10 — restore the full countryside header artwork (including the boat
   and lower water detail) and carry it exactly to the base of the 50% tinted
   desktop menu row. The approved people hero stays separate below navigation. */
@media (min-width:901px){
  .site-header::before{
    left:0;
    top:0;
    bottom:auto;
    width:100%;
    height:142px;
    transform:none;
    background:url("../images/bekhmer/bekhmer-header-skyline-v0510.webp") center center/100% 142px no-repeat;
    opacity:.40;
  }
  .nav-row{
    background:rgba(255,250,245,.50);
  }
  .hero{
    margin-top:0;
    background-position:center 40%;
    background-size:cover;
  }
  .hero-inner{
    min-height:315px;
    padding:34px 0;
  }
}

/* v0.5.19 — Gallery index + gallery detail presentation. */
.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.gallery-card-media{aspect-ratio:4/3}
.gallery-card-body{padding:14px 14px 13px}
.gallery-card h2{font-size:20px}
.gallery-card p{font-size:13px;line-height:1.45}
.gallery-card-meta{margin-top:11px;padding-top:9px}

.gallery-detail-page{padding:34px 0 54px}
.gallery-detail-shell{max-width:1180px}
.gallery-detail-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}
.gallery-back-link,.gallery-discussion-link{font-size:13px;font-weight:700;color:#7e171b}
.gallery-back-link:hover,.gallery-discussion-link:hover{color:#a31a20}
.gallery-detail-card{overflow:hidden;background:#fff;border:1px solid #eadfd5;border-radius:14px;box-shadow:0 12px 32px rgba(65,42,28,.08)}
.gallery-detail-media{display:grid;place-items:center;min-height:360px;max-height:72vh;background:#211a17;overflow:hidden}
.gallery-detail-media img{display:block;width:100%;height:auto;max-height:72vh;object-fit:contain;background:#211a17}
.gallery-detail-media-empty{background:linear-gradient(145deg,#efe6da,#dfcdb9)}
.gallery-detail-empty-copy{display:flex;flex-direction:column;align-items:center;gap:7px;padding:70px 24px;color:#775d4e;text-align:center}
.gallery-detail-empty-copy strong{font:600 32px/1 var(--bk-display)}
.gallery-detail-empty-copy span{font-size:14px}
.gallery-detail-info{padding:28px 30px 30px}
.gallery-detail-eyebrow{margin:0 0 7px;color:#9d6e2c;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.gallery-detail-info h1{margin:0;color:#2d201c;font:600 38px/1.06 var(--bk-display);letter-spacing:-.018em}
.gallery-detail-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-top:13px;color:#8a7a71;font-size:12px}
.gallery-detail-meta span+time:before,.gallery-detail-meta time+span:before{content:"•";margin-right:14px;color:#c1aa95}
.gallery-detail-description{max-width:800px;margin-top:22px;padding-top:21px;border-top:1px solid #eee4db;color:#5f514a;font-size:15px;line-height:1.72}
.gallery-detail-description p:first-child{margin-top:0}
.gallery-detail-description p:last-child{margin-bottom:0}
.gallery-detail-description img{max-width:100%;height:auto}
.gallery-detail-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}

@media(max-width:1050px){
  .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:780px){
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .gallery-detail-page{padding-top:22px}
  .gallery-detail-media{min-height:250px;max-height:64vh}
  .gallery-detail-media img{max-height:64vh}
  .gallery-detail-info{padding:22px 20px 24px}
  .gallery-detail-info h1{font-size:32px}
}
@media(max-width:520px){
  .gallery-grid{grid-template-columns:1fr}
  .gallery-detail-topbar{align-items:flex-start;flex-direction:column;gap:8px}
  .gallery-detail-media{min-height:210px;max-height:58vh}
  .gallery-detail-media img{max-height:58vh}
  .gallery-detail-info h1{font-size:28px}
  .gallery-detail-meta span+time:before,.gallery-detail-meta time+span:before{display:none}
  .gallery-detail-actions{flex-direction:column}
  .gallery-detail-actions .btn{width:100%}
}

/* v0.5.20 — custom News/Articles reading page + simple Profiles directory. */
.article-detail-page{padding:34px 0 58px}
.article-detail-shell{max-width:1120px}
.article-detail-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}
.article-back-link,.article-discussion-link{color:#7c3a35;font-size:13px;font-weight:700;text-decoration:none}
.article-back-link:hover,.article-discussion-link:hover{color:#a0141a}
.article-detail-card{overflow:hidden;background:#fff;border:1px solid #eadfd5;border-radius:14px;box-shadow:0 12px 32px rgba(65,42,28,.08)}
.article-detail-hero{display:block;width:100%;height:auto;max-width:100%;background:#e6ddd3}
.article-detail-content{max-width:860px;margin:0 auto;padding:38px 44px 42px}
.article-detail-eyebrow{display:inline-flex;align-items:center;min-height:28px;margin:0 0 12px;padding:0 11px;border:1px solid #ecdab7;border-radius:999px;background:#f8ecd7;color:#7c5a1e;font-size:11px;font-weight:800;letter-spacing:.04em}
.article-detail-content h1{margin:0;color:#2d201c;font:600 48px/1.02 var(--bk-display);letter-spacing:-.022em}
.article-detail-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-top:15px;color:#8a7a71;font-size:12px}
.article-detail-meta>*+*:before{content:"•";margin-right:14px;color:#c1aa95}
.article-detail-body{margin-top:30px;padding-top:26px;border-top:1px solid #eee4db;color:#4f443e;font-size:16px;line-height:1.82}
.article-detail-body p{margin:0 0 1.15em}
.article-detail-body h2,.article-detail-body h3,.article-detail-body h4{color:#392824;font-family:var(--bk-display);line-height:1.12}
.article-detail-body h2{margin:1.45em 0 .55em;font-size:31px}
.article-detail-body h3{margin:1.3em 0 .5em;font-size:25px}
.article-detail-body img{max-width:100%;height:auto;border-radius:8px}
.article-detail-body blockquote{margin:1.35em 0;padding:4px 0 4px 20px;border-left:3px solid #c79b53;color:#6b574d;font-style:italic}
.article-detail-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;padding-top:25px;border-top:1px solid #eee4db}

.profiles-page{padding:34px 0 58px}
.profiles-shell{max-width:1180px}
.profiles-heading{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:22px}
.profiles-heading h1{margin:0;color:#2d201c;font:600 40px/1.05 var(--bk-display)}
.profiles-heading p{margin:7px 0 0;color:#71635b;font-size:14px}
.profiles-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.profile-card{display:flex;flex-direction:column;align-items:center;min-width:0;padding:18px 12px 12px;border:1px solid #eadfd5;border-radius:12px;background:#fff;box-shadow:0 6px 16px rgba(65,42,28,.045);text-align:center}
.profile-card:hover{border-color:#d6b89e;box-shadow:0 9px 22px rgba(65,42,28,.075)}
.profile-card-main{display:flex;width:100%;min-width:0;flex:1;flex-direction:column;align-items:center;text-decoration:none}
.profile-card-report{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;margin-top:8px;padding:5px 9px;border:1px solid #ddcec4;border-radius:999px;background:#fffaf5;color:#8d7368;font-size:10.5px;font-weight:700;line-height:1;text-decoration:none}
.profile-card-report::before{content:"⚑";font-size:11px;line-height:1}
.profile-card-report:hover{border-color:#b78d7f;background:#fff5ee;color:#8c1418;text-decoration:none}
.profile-card-avatar{width:92px;height:92px;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:linear-gradient(145deg,#efe6da,#ddc9b3);color:#7c3a35;font:700 31px/1 var(--bk-display)}
.profile-card-avatar img{display:block;width:100%!important;height:100%!important;object-fit:cover;border-radius:50%}
.profile-card-name{display:block;max-width:100%;margin-top:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#4f3430;font-size:14px;font-weight:700}
.profiles-pagination{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:28px}
.profiles-pagination a,.profiles-pagination span{display:grid;place-items:center;min-width:36px;height:36px;padding:0 10px;border:1px solid #e1d3c7;border-radius:8px;background:#fff;color:#70443e;font-size:13px;font-weight:700;text-decoration:none}
.profiles-pagination span{background:#8c1418;border-color:#8c1418;color:#fff}

@media(max-width:1050px){.profiles-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){
  .article-detail-page,.profiles-page{padding-top:22px}
  .article-detail-topbar{align-items:flex-start;flex-direction:column;gap:8px}
  .article-detail-content{padding:28px 24px 32px}
  .article-detail-content h1{font-size:39px}
  .article-detail-meta>*+*:before{display:none}
  .profiles-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .profiles-heading{align-items:flex-start;flex-direction:column}
}
@media(max-width:520px){
  .article-detail-content{padding:24px 18px 27px}
  .article-detail-content h1{font-size:33px}
  .article-detail-body{font-size:15px;line-height:1.72}
  .article-detail-actions{flex-direction:column}
  .article-detail-actions .btn{width:100%}
  .profiles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .profile-card-avatar{width:82px;height:82px}
}

/* v0.5.21 — News navigation stays in the custom News & Articles experience. */
.news-section-tabs a.active{background:#8f151a;color:#fff;border-color:#8f151a}

/* v0.5.23 — community-first home page + navigation role split. */
.header-link-pending{position:relative;color:#715f54;cursor:default}

.home-pulse{border-top:1px solid #eadfd5;border-bottom:1px solid #eadfd5;background:#fffaf5}
.home-pulse-inner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-height:72px}
.home-pulse-inner>div{display:flex;align-items:baseline;justify-content:center;gap:8px;padding:15px 12px;border-right:1px solid #eee3d9}
.home-pulse-inner>div:last-child{border-right:0}
.home-pulse strong{color:#6f1519;font:700 24px/1 var(--bk-display)}
.home-pulse span{color:#75665e;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.055em}

.home-section{padding-top:30px;padding-bottom:30px}
.home-section+.home-section{border-top:1px solid #eee4da}
.home-members-section,.home-gallery-section{background:linear-gradient(180deg,#faf5ed,#fffaf5)}
.home-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:18px}
.home-section-heading h2{margin:3px 0 0;color:#33231f;font:600 31px/1.03 var(--bk-display);letter-spacing:-.018em}
.home-section-heading>a{color:#8c1418;font-size:13px;font-weight:700;white-space:nowrap}
.home-section-heading>a:hover{text-decoration:underline}
.home-kicker{color:#9a754c;font-size:10.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}

.home-discussion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
.home-discussion-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:13px;min-height:76px;padding:12px 14px;border:1px solid #eadfd5;border-radius:11px;background:#fff;box-shadow:0 5px 15px rgba(67,43,30,.045)}
.home-discussion-card:hover{border-color:#d8baa2;box-shadow:0 8px 20px rgba(67,43,30,.075)}
.home-discussion-card.is-placeholder{opacity:.7}
.home-discussion-avatar{width:46px;height:46px;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:linear-gradient(145deg,#8d1118,#5f0c10);color:#fff;font:700 19px/1 var(--bk-display);box-shadow:inset 0 0 0 2px rgba(255,255,255,.16)}
.home-discussion-avatar img{display:block;width:100%!important;height:100%!important;object-fit:cover;border-radius:50%}
.home-discussion-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
.home-discussion-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#30221e;font-size:14px;font-weight:700}
.home-discussion-card:hover .home-discussion-copy strong{color:#8c1418}
.home-discussion-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#887970;font-size:11.5px}
.home-discussion-replies{display:flex;flex-direction:column;align-items:center;min-width:44px;color:#674c43;font-size:16px;font-weight:800;line-height:1}
.home-discussion-replies small{margin-top:4px;color:#9a8a81;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}

.home-members-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.home-member-card{display:flex;flex-direction:column;align-items:center;min-width:0;padding:14px 10px 12px;border:1px solid transparent;border-radius:12px;text-align:center}
.home-member-card:hover{border-color:#e0cbb8;background:rgba(255,255,255,.78)}
.home-member-photo{width:92px;height:92px;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:linear-gradient(145deg,#efe4d5,#dbc2aa);color:#7d3a36;font:700 31px/1 var(--bk-display);box-shadow:0 6px 16px rgba(72,44,29,.09)}
.home-member-photo img{display:block;width:100%!important;height:100%!important;object-fit:cover;border-radius:50%}
.home-member-card strong{display:block;max-width:100%;margin-top:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#513832;font-size:13px}

.home-forum-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.home-forum-card{display:grid;grid-template-columns:38px minmax(0,1fr) 20px;align-items:center;gap:12px;min-height:92px;padding:15px 16px;border:1px solid #e6d7c9;border-radius:11px;background:#fff;box-shadow:0 5px 14px rgba(67,43,30,.04)}
.home-forum-card:hover{border-color:#d0ad8e;background:#fffaf5}
.home-forum-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#f5e7cf;color:#a27027;font-size:12px}
.home-forum-card>span:nth-child(2){display:flex;flex-direction:column;gap:5px;min-width:0}
.home-forum-card strong{color:#682126;font-size:14px;font-weight:800}
.home-forum-card small{display:-webkit-box;overflow:hidden;color:#82736b;font-size:11.5px;line-height:1.4;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.home-forum-card>b{color:#9b6c39;font-size:16px}

.home-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.home-gallery-card{overflow:hidden;border:1px solid #e6d8cc;border-radius:11px;background:#fff;box-shadow:0 6px 16px rgba(67,43,30,.05)}
.home-gallery-card:hover{border-color:#d1b091;box-shadow:0 9px 22px rgba(67,43,30,.075)}
.home-gallery-media{display:block;aspect-ratio:4/3;overflow:hidden;background:#e9ddd1}
.home-gallery-media img{width:100%;height:100%;object-fit:cover;transition:transform .22s ease}
.home-gallery-card:hover .home-gallery-media img{transform:scale(1.025)}
.home-gallery-media.is-empty{display:grid;place-items:center;background:linear-gradient(145deg,#efe5d7,#dbc6b0);color:#86554b;font:600 21px/1 var(--bk-display)}
.home-gallery-copy{display:flex;flex-direction:column;gap:5px;padding:11px 12px 12px}
.home-gallery-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#3d2b26;font-size:13.5px}
.home-gallery-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8c7b72;font-size:10.5px}
.home-inline-empty{padding:25px;border:1px dashed #dbc7b6;border-radius:11px;background:rgba(255,255,255,.65);color:#807168;text-align:center;font-size:13px}
.home-article-grid{gap:20px}

/* The forum index intro should introduce the content without pushing it down. */

@media(max-width:1050px){
  .home-members-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .home-forum-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .home-pulse-inner{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-pulse-inner>div:nth-child(2){border-right:0}
  .home-pulse-inner>div:nth-child(-n+2){border-bottom:1px solid #eee3d9}
  .home-section{padding-top:24px;padding-bottom:24px}
  .home-section-heading{align-items:flex-start;flex-direction:column;gap:7px}
  .home-section-heading h2{font-size:28px}
  .home-discussion-grid{grid-template-columns:1fr}
  .home-members-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
  .home-member-photo{width:82px;height:82px}
}
@media(max-width:520px){
  .home-pulse strong{font-size:21px}
  .home-pulse span{font-size:10px}
  .home-forum-grid,.home-gallery-grid{grid-template-columns:1fr}
  .home-members-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-discussion-card{grid-template-columns:43px minmax(0,1fr) auto;padding:10px 11px}
  .home-discussion-avatar{width:41px;height:41px}
  .home-discussion-copy small{white-space:normal;line-height:1.35}
}


/* v0.5.24 — restore the compact editorial/discussion homepage and anchor members at the bottom. */
.home-gallery-section{border-top:1px solid #eee4da;padding-top:26px;padding-bottom:28px}
.home-community-bottom{border-top:1px solid #e5d9cc;background:linear-gradient(180deg,#faf5ed,#f7efe5);padding:24px 0 26px}
.home-community-bottom-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,.72fr);gap:24px;align-items:stretch}
.home-community-members-panel{min-width:0;padding:2px 0}
.home-community-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}
.home-community-heading h2,.home-community-stats-card h2{margin:3px 0 0;color:#33231f;font:600 27px/1.05 "Cormorant Garamond",Georgia,serif;letter-spacing:-.015em}
.home-community-heading>a{color:#8c1418;font-size:12.5px;font-weight:700;white-space:nowrap}
.home-community-heading>a:hover{text-decoration:underline}
.home-member-strip{display:flex;align-items:flex-start;gap:13px;min-height:86px;overflow:hidden}
.home-member-mini{display:flex;flex:0 0 76px;flex-direction:column;align-items:center;min-width:0;text-align:center}
.home-member-mini .home-member-photo{width:62px;height:62px;font-size:22px;box-shadow:0 4px 11px rgba(72,44,29,.09)}
.home-member-mini strong{display:block;width:100%;margin-top:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#513832;font-size:11.5px}
.home-member-mini:hover strong{color:#8c1418}
.home-members-empty{padding:18px;text-align:left}
.home-community-stats-card{padding:16px 18px;border:1px solid #dfcfbf;border-radius:11px;background:rgba(255,255,255,.72);box-shadow:0 5px 14px rgba(67,43,30,.045)}
.home-community-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:13px}
.home-community-stat-grid>div{padding:10px 8px;border-radius:8px;background:#f8efe3;text-align:center}
.home-community-stat-grid strong{display:block;color:#6f1519;font:700 20px/1 "Cormorant Garamond",Georgia,serif}
.home-community-stat-grid span{display:block;margin-top:4px;color:#8a776c;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.045em}
@media(max-width:900px){
  .home-community-bottom-grid{grid-template-columns:1fr}
  .home-member-strip{overflow:visible;flex-wrap:wrap}
  .home-community-stats-card{max-width:none}
}
@media(max-width:620px){
  .home-gallery-section{padding-top:22px;padding-bottom:23px}
  .home-community-bottom{padding:21px 0 23px}
  .home-community-heading{align-items:flex-start;flex-direction:column;gap:5px}
  .home-community-heading h2,.home-community-stats-card h2{font-size:25px}
  .home-member-strip{gap:10px}
  .home-member-mini{flex-basis:70px}
  .home-member-mini .home-member-photo{width:58px;height:58px}
}


/* v0.5.25 — full latest-discussion feed and compact forum-style community stats. */
.home-community-bottom-grid{grid-template-columns:minmax(0,1.8fr) minmax(245px,.62fr);gap:28px;align-items:start}
.home-community-stats-panel{min-width:0;padding:2px 0 0 24px;border-left:1px solid #e5d9cc;background:transparent}
.home-community-stats-panel h2{margin:3px 0 12px;color:#33231f;font:600 27px/1.05 "Cormorant Garamond",Georgia,serif;letter-spacing:-.015em}
.home-community-stat-list{display:flex;flex-direction:column}
.home-community-stat-list>div{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:34px;padding:7px 0;border-bottom:1px solid #e8ddd2}
.home-community-stat-list>div:last-child{border-bottom:0}
.home-community-stat-list span{color:#7f7068;font-size:11px;font-weight:600}
.home-community-stat-list strong{min-width:0;color:#5f1519;font:700 17px/1.1 "Cormorant Garamond",Georgia,serif;text-align:right}
.home-community-stat-list .is-newest-member strong{font-family:"Source Sans 3",Arial,sans-serif;font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-community-stat-list a{color:#8c1418}
.home-community-stat-list a:hover{text-decoration:underline}
@media(max-width:900px){
  .home-community-stats-panel{padding:18px 0 0;border-left:0;border-top:1px solid #e5d9cc}
}
@media(max-width:620px){
  .home-community-stats-panel h2{font-size:25px}
}


/* v0.5.26 — member portrait sizing, stats spacing, and bottom-column divider refinement. */
.home-community-bottom-grid{grid-template-columns:minmax(0,1.75fr) minmax(290px,.65fr);gap:28px;align-items:start}
.home-member-strip{gap:16px;min-height:104px}
.home-member-mini{flex-basis:96px}
.home-member-mini .home-member-photo{width:80px;height:80px;border-radius:14px;font-size:27px;box-shadow:0 5px 14px rgba(72,44,29,.10)}
.home-member-mini .home-member-photo img{border-radius:12px}
.home-member-mini strong{margin-top:9px;font-size:12px}
.home-community-stats-panel{padding-left:28px;border-left:1px solid #decfbe}
.home-community-stat-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:26px;min-height:36px;padding:8px 0}
.home-community-stat-list span{padding-right:8px}
.home-community-stat-list strong{min-width:42px;text-align:right}
.home-community-stat-list .is-newest-member strong{min-width:92px}
@media(max-width:900px){
  .home-community-bottom-grid{grid-template-columns:1fr}
  .home-community-stats-panel{padding:20px 0 0;border-left:0;border-top:1px solid #decfbe}
}
@media(max-width:620px){
  .home-member-mini{flex-basis:86px}
  .home-member-mini .home-member-photo{width:72px;height:72px;border-radius:13px}
  .home-member-mini .home-member-photo img{border-radius:11px}
  .home-community-stat-list>div{column-gap:20px}
}


/* v0.5.27 — custom Events & Gatherings presentation sourced from phpBB f=18. */
.events-intro{background:radial-gradient(circle at 84% 18%,rgba(201,149,57,.13),transparent 31%),linear-gradient(135deg,#f6ecdf,#fbf8f3 58%,#f0e1cf)}
.events-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px}
.event-card{display:flex;min-width:0;overflow:hidden;flex-direction:column;border:1px solid #eadfd5;border-radius:12px;background:#fff;box-shadow:0 7px 18px rgba(65,42,28,.055)}
.event-card-media{display:block;position:relative;aspect-ratio:3/2;overflow:hidden;background:linear-gradient(145deg,#efe6da,#dfcdb9)}
.event-card-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .24s ease}
.event-card:hover .event-card-media img{transform:scale(1.02)}
.event-card-media-empty{display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,rgba(203,150,54,.17),transparent 25%),linear-gradient(145deg,#efe6da,#dfcdb9)}
.event-card-media-empty span{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px;color:#775d4e;text-align:center}
.event-card-media-empty b{font:600 26px/1 var(--bk-display)}
.event-card-media-empty small{font-size:11px}
.event-card-body{display:flex;flex:1;flex-direction:column;padding:16px 16px 15px}
.event-card-label{align-self:flex-start;display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border:1px solid #ecdab7;border-radius:999px;background:#f8ecd7;color:#7c5a1e;font-size:10.5px;font-weight:700}
.event-card h2{margin:10px 0 8px;color:#2d201c;font:600 24px/1.08 var(--bk-display)}
.event-card h2 a:hover{color:#8c1418}
.event-card p{margin:0;color:#6f625b;font-size:13px;line-height:1.55;flex:1}
.event-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px 12px;margin-top:14px;padding-top:11px;border-top:1px solid #f0e7de;color:#8d7d74;font-size:10.5px}
.event-card-meta>*+*:before{content:"•";margin-right:12px;color:#c1aa95}
.events-empty-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.event-detail-page{padding:32px 0 54px}
.event-detail-shell{max-width:1030px}
.event-detail-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}
.event-back-link,.event-discussion-link{color:#8c1418;font-size:12.5px;font-weight:700}
.event-back-link:hover,.event-discussion-link:hover{text-decoration:underline}
.event-detail-card{overflow:hidden;border:1px solid #e7dbcf;border-radius:14px;background:#fff;box-shadow:0 10px 26px rgba(67,43,30,.07)}
.event-detail-media{padding:0;background:#f1e8dc;text-align:center}
.event-detail-media img{display:block;max-width:100%;width:auto;height:auto;margin:0 auto}
.event-detail-content{padding:31px 34px 35px}
.event-detail-eyebrow{margin:0 0 9px;color:#9b7448;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.event-detail-content h1{margin:0;color:#2d201c;font:600 42px/1.03 var(--bk-display);letter-spacing:-.02em}
.event-detail-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px 13px;margin-top:14px;color:#8a7a71;font-size:11px}
.event-detail-meta>*+*:before{content:"•";margin-right:13px;color:#c2ab97}
.event-detail-body{margin-top:26px;color:#4d413b;font-size:16px;line-height:1.76}
.event-detail-body p:first-child{margin-top:0}
.event-detail-body img{max-width:100%;height:auto;border-radius:8px}
.event-detail-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;padding-top:25px;border-top:1px solid #eee4db}
@media(max-width:1050px){.events-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  .events-grid{grid-template-columns:1fr}
  .event-detail-page{padding-top:22px}
  .event-detail-topbar{align-items:flex-start;flex-direction:column;gap:8px}
  .event-detail-content{padding:27px 23px 31px}
  .event-detail-content h1{font-size:37px}
}
@media(max-width:520px){
  .event-detail-content{padding:23px 18px 27px}
  .event-detail-content h1{font-size:32px}
  .event-detail-meta>*+*:before{display:none}
  .event-detail-body{font-size:15px;line-height:1.7}
  .event-detail-actions{flex-direction:column}
  .event-detail-actions .btn{width:100%}
}

/* v0.5.28 — structured Events submission/editing, archive behavior, and modal form. */
.event-section-heading>div{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap}
.event-view-switch{display:flex;align-items:center;gap:5px;margin-bottom:2px;padding:3px;border:1px solid #e6d9cc;border-radius:999px;background:#f8f1e8}
.event-view-switch a{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;color:#7f6d63;font-size:10.5px;font-weight:700}
.event-view-switch a:hover,.event-view-switch a.active{background:#fff;color:#86151a;box-shadow:0 1px 5px rgba(73,46,31,.08)}
.event-notice{margin:0 0 18px;padding:12px 15px;border:1px solid #dac79f;border-radius:9px;background:#fff7e6;color:#6d5125;font-size:13px;font-weight:600}
.event-card-media{display:grid;place-items:center}
.event-card-media img{width:100%;height:100%;object-fit:contain;background:#f1e8dc}
.event-card-facts{display:flex;flex-direction:column;gap:3px;margin:0 0 8px;color:#79675d;font-size:11px;line-height:1.35}
.event-card-facts strong{color:#6e171b;font-size:12px}
.event-status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:25px;padding:0 9px;border-radius:999px;font-style:normal;font-size:10px;font-weight:800;letter-spacing:.035em;text-transform:uppercase}
.event-card-media>.event-status-badge{position:absolute;top:10px;right:10px;z-index:2;box-shadow:0 2px 8px rgba(0,0,0,.14)}
.event-status-badge.is-postponed{background:#f7e3a2;color:#664d08}
.event-status-badge.is-canceled{background:#82171c;color:#fff}
.event-status-badge.is-past{background:#ded4cb;color:#665850}
.event-card.is-canceled .event-card-media img{opacity:.72}
.event-detail-top-actions{display:flex;align-items:center;gap:16px}
.event-text-button{appearance:none;border:0;background:transparent;padding:0;color:#8c1418;font:700 12.5px/1 var(--bk-body);cursor:pointer}
.event-text-button:hover{text-decoration:underline}
.event-detail-kicker-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:9px}
.event-detail-kicker-row .event-detail-eyebrow{margin:0}
.event-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:25px 0 0;padding:18px 0;border-top:1px solid #eee4db;border-bottom:1px solid #eee4db}
.event-facts>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;padding:7px 0}
.event-facts dt{color:#8b776b;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.event-facts dd{margin:0;color:#493c36;font-size:13px;font-weight:600;overflow-wrap:anywhere}
.event-facts a{color:#8c1418}
.event-facts a:hover{text-decoration:underline}

.event-modal{width:min(860px,calc(100vw - 28px));max-height:min(88vh,860px);margin:auto;padding:0;border:0;border-radius:15px;background:#fff;box-shadow:0 28px 80px rgba(36,22,15,.28);overflow:auto;color:#433631}
.event-modal::backdrop{background:rgba(30,20,15,.55);backdrop-filter:blur(2px)}
.event-submit-form{padding:0}
.event-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 27px 18px;border-bottom:1px solid #eee3d9;background:linear-gradient(135deg,#fbf6ef,#f5e9db)}
.event-modal-eyebrow{margin:0 0 4px;color:#9b7448;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.event-modal-head h2{margin:0;color:#33231f;font:600 34px/1.05 var(--bk-display)}
.event-modal-close{width:34px;height:34px;border:1px solid #ddcfc2;border-radius:50%;background:#fff;color:#6e5e55;font-size:25px;line-height:28px;cursor:pointer}
.event-modal-close:hover{border-color:#bfa996;color:#82171c}
.event-modal-intro{margin:0;padding:17px 27px 0;color:#75665e;font-size:13px;line-height:1.55}
.event-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;padding:20px 27px 8px}
.event-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.event-field-wide{grid-column:1/-1}
.event-field>span{color:#4e3d36;font-size:12px;font-weight:700}
.event-field>span b{color:#8c1418}
.event-field input,.event-field textarea,.event-field select{width:100%;box-sizing:border-box;border:1px solid #d9cabc;border-radius:8px;background:#fff;color:#3f332e;font:500 14px/1.35 var(--bk-body);outline:none;transition:border-color .15s ease,box-shadow .15s ease}
.event-field input,.event-field select{height:42px;padding:0 11px}
.event-field textarea{min-height:142px;padding:10px 11px;resize:vertical}
.event-field input:focus,.event-field textarea:focus,.event-field select:focus{border-color:#b88257;box-shadow:0 0 0 3px rgba(184,130,87,.12)}
.event-field input[type=file]{height:auto;padding:9px 10px;background:#faf6f1}
.event-field small{color:#97867b;font-size:10.5px;line-height:1.35}
.event-check{display:flex;align-items:center;gap:9px;margin-top:-6px;color:#69584f;font-size:11.5px}
.event-check input{width:16px;height:16px}
.event-form-actions{display:flex;justify-content:flex-end;gap:10px;padding:19px 27px 24px;border-top:1px solid #eee3d9;margin-top:16px}
.event-save-result{padding:34px 0 54px}

@media(max-width:780px){
  .event-section-heading>div{align-items:flex-start;flex-direction:column;gap:9px}
  .event-detail-top-actions{align-items:flex-start;flex-direction:column;gap:8px}
  .event-facts{grid-template-columns:1fr}
  .event-form-grid{grid-template-columns:1fr;padding-left:20px;padding-right:20px}
  .event-field-wide{grid-column:auto}
  .event-modal-head{padding:21px 20px 16px}
  .event-modal-intro{padding-left:20px;padding-right:20px}
  .event-form-actions{padding:17px 20px 21px}
}
@media(max-width:520px){
  .event-modal{width:calc(100vw - 16px);max-height:92vh;border-radius:12px}
  .event-modal-head h2{font-size:29px}
  .event-form-actions{flex-direction:column-reverse}
  .event-form-actions .btn{width:100%}
  .event-facts>div{grid-template-columns:78px minmax(0,1fr)}
  .event-view-switch{align-self:flex-start}
}
.event-current-flyer{display:inline-flex!important;align-items:center;gap:10px;margin-top:3px;color:#806f65!important;font-size:10.5px!important;font-weight:600!important}
.event-current-flyer img{display:block;width:74px;height:54px;object-fit:contain;border:1px solid #e2d5c8;border-radius:6px;background:#f5eee6}
.event-current-flyer i{font-style:normal}


/* v0.5.31 — reporting request fix, self-report protection, and subdued Report buttons. */
.content-top-actions{display:flex;align-items:center;gap:16px}
.content-report-link{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border:1px solid #dbc9bd;border-radius:999px;background:rgba(255,250,245,.78);color:#8d7368;font-size:11.5px;font-weight:700;line-height:1;text-decoration:none}
.content-report-link::before{content:"⚑";font-size:12px;line-height:1}
.content-report-link:hover{border-color:#b88e80;background:#fff6ef;color:#8c1418;text-decoration:none}
.event-file-error{display:block!important;color:#9b1b20!important;font-size:11px!important;font-weight:700!important}
.event-file-error[hidden]{display:none!important}

.report-page{padding:34px 0 58px}
.report-shell{max-width:760px}
.report-back-link{display:inline-block;margin-bottom:14px;color:#7c3a35;font-size:13px;font-weight:700;text-decoration:none}
.report-back-link:hover{text-decoration:underline}
.report-card{padding:30px 32px;border:1px solid #e6d9cd;border-radius:14px;background:#fff;box-shadow:0 12px 32px rgba(65,42,28,.07)}
.report-card h1{margin:0;color:#2d201c;font:600 39px/1.04 var(--bk-display)}
.report-card>p{color:#6f6159;line-height:1.6}
.report-eyebrow{margin:0 0 7px!important;color:#9b7448!important;font-size:10.5px!important;font-weight:800!important;letter-spacing:.14em;text-transform:uppercase}
.report-target{margin:14px 0 7px!important;padding:12px 14px;border-radius:8px;background:#faf5ef;color:#4d3c35!important}
.report-errors{margin:18px 0;padding:12px 14px;border:1px solid #e4b8b8;border-radius:8px;background:#fff1f1;color:#85171c;font-size:12px;font-weight:700}
.report-errors p{margin:3px 0}
.report-form{margin-top:22px}
.report-form fieldset{margin:0;padding:0;border:0}
.report-form legend{margin-bottom:10px;color:#493a33;font-size:13px;font-weight:800}
.report-reason{display:flex;align-items:flex-start;gap:10px;margin:7px 0;padding:10px 11px;border:1px solid #eadfd5;border-radius:8px;cursor:pointer}
.report-reason:hover{border-color:#d3b69d;background:#fdf9f5}
.report-reason input{margin-top:2px}
.report-reason span{color:#5f5049;font-size:13px;font-weight:600}
.report-details-field{display:flex;flex-direction:column;gap:7px;margin-top:20px;color:#4e3d36;font-size:12px;font-weight:800}
.report-details-field small{color:#98857a;font-weight:500}
.report-details-field textarea{box-sizing:border-box;width:100%;min-height:130px;padding:11px;border:1px solid #d9cabc;border-radius:8px;background:#fff;color:#3f332e;font:500 14px/1.5 var(--bk-body);resize:vertical}
.report-details-field textarea:focus{outline:none;border-color:#b88257;box-shadow:0 0 0 3px rgba(184,130,87,.12)}
.report-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid #eee4db}
.report-success-card{text-align:center}
.report-success-card .btn{margin-top:10px}

.reports-intro{background:linear-gradient(135deg,#f6ecdf,#fbf8f3 58%,#f0e1cf)}
.reports-shell{max-width:1050px}
.reports-filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}
.reports-filters a{display:inline-flex;align-items:center;min-height:32px;padding:0 11px;border:1px solid #e1d4c8;border-radius:999px;background:#fff;color:#75645b;font-size:11px;font-weight:800;text-decoration:none}
.reports-filters a.active,.reports-filters a:hover{border-color:#8c1418;background:#8c1418;color:#fff}
.reports-list{display:flex;flex-direction:column;gap:14px}
.moderation-report{padding:19px 20px;border:1px solid #e6d9cd;border-left:4px solid #b9976e;border-radius:11px;background:#fff;box-shadow:0 6px 17px rgba(65,42,28,.045)}
.moderation-report.is-open{border-left-color:#9b1b20}
.moderation-report.is-reviewed{border-left-color:#8a744d}
.moderation-report.is-dismissed{opacity:.78;border-left-color:#b9aea5}
.moderation-report-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.moderation-report-head h2{margin:7px 0 0;color:#32241f;font:600 27px/1.08 var(--bk-display)}
.moderation-report-head time{color:#95847a;font-size:10.5px;white-space:nowrap}
.report-status-badge,.report-type-badge{display:inline-flex;align-items:center;min-height:24px;margin-right:5px;padding:0 8px;border-radius:999px;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.report-status-badge{background:#f3dfdd;color:#82171c}
.report-type-badge{background:#f4ecdf;color:#765723}
.moderation-report-meta{display:flex;gap:20px;flex-wrap:wrap;margin:14px 0 0;padding-top:12px;border-top:1px solid #f0e7df}
.moderation-report-meta>div{display:flex;gap:7px}
.moderation-report-meta dt{color:#95847a;font-size:10px;font-weight:800;text-transform:uppercase}
.moderation-report-meta dd{margin:0;color:#5d4d46;font-size:11px;font-weight:700}
.moderation-report-details{margin:14px 0 0;padding:12px 14px;border-radius:8px;background:#faf6f1;color:#5a4a43;font-size:12.5px;line-height:1.55}
.moderation-report-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:15px}
.moderation-report-actions form{display:flex;gap:8px;flex-wrap:wrap}
.moderation-report-actions .btn{min-height:35px;padding:0 12px;font-size:11px}

@media(max-width:760px){
  .content-top-actions{align-items:flex-start;flex-direction:column;gap:8px}
  .report-card{padding:24px 20px}
  .report-card h1{font-size:33px}
  .report-actions{flex-direction:column-reverse}
  .report-actions .btn{width:100%}
  .moderation-report-head,.moderation-report-actions{align-items:flex-start;flex-direction:column}
}


/* ==========================================================================
   BeKhmer v0.5.41 — mobile-first usability + right-sized static assets
   Desktop design remains intact. Mobile uses dedicated image assets rather
   than downloading desktop-size artwork and shrinking it with CSS.
   ========================================================================== */

.brand-logo-picture,.bk-footer-logo picture{display:block;line-height:0}
.brand-logo-picture{width:360px;max-width:100%}
.brand-logo-image{width:360px;max-width:100%;height:auto}
.bk-footer-logo img{width:420px;max-width:100%;height:auto}

/* Right-sized desktop artwork. */
@media (min-width:901px){
  .site-header::before{
    background-image:url("../images/bekhmer/bekhmer-header-skyline-v0541.webp")!important;
  }
  .hero{
    background-image:url("../images/bekhmer/bekhmer-hero-v0541.webp")!important;
  }
  .bk-footer{
    background-image:
      linear-gradient(90deg,rgba(48,0,4,.26) 0%,rgba(48,0,4,.15) 34%,rgba(48,0,4,.06) 62%,rgba(48,0,4,.03) 100%),
      url("../images/bekhmer/bekhmer-footer-banner-v0541.webp")!important;
  }
}

/* Tablets: preserve the desktop hierarchy but remove overflow traps. */
@media (max-width:900px){
  html,body{overflow-x:hidden}
  .site-shell{max-width:100%;overflow:hidden}
  .wrap{width:calc(100% - 28px);max-width:760px}
  .brand-row{min-height:78px;height:auto;padding:12px 0}
  .brand-logo-picture{width:300px}
  .brand-logo-image{width:100%}
  .nav-inner{padding:8px 0 10px}
  .main-nav{
    width:100%;gap:22px;padding:2px 2px 10px;
    overflow-x:auto;overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;scroll-snap-type:x proximity
  }
  .main-nav a{min-height:40px;scroll-snap-align:start}
  .nav-actions{min-height:48px;gap:10px}
  .search-form{flex:1;max-width:250px}
  .search-form input,.search-form:focus-within input,.search-form:hover input{width:100%;min-width:0}
  .account-link{max-width:130px}
  .hero{
    background-image:url("../images/bekhmer/bekhmer-hero-mobile-v0541.webp")!important;
    background-position:center center!important;background-size:cover!important
  }
  .hero,.hero-inner{min-height:390px}
  .hero-inner{padding:32px 0}
  .hero-copy{max-width:520px}
  .content-grid{gap:20px}
  .home-section-heading,.page-section-heading{min-width:0}
  .home-section-heading>* ,.page-section-heading>*{min-width:0}
  .news-feature-copy{min-width:0}
  .bk-footer{
    background-image:
      linear-gradient(180deg,rgba(77,4,10,.28),rgba(62,2,7,.56)),
      url("../images/bekhmer/bekhmer-footer-banner-mobile-v0541.webp")!important;
    background-position:center top!important;background-size:cover!important;
  }
  .bk-footer-main{
    grid-template-columns:1fr 1fr!important;
    min-height:0!important;
    padding:34px 28px 30px!important;
    gap:24px 28px!important
  }
  .bk-footer-brand-column,.bk-footer-culture{grid-column:1/-1!important}
  .bk-footer-brand-column{width:min(100%,420px)!important}
  .bk-footer-logo img{width:420px;max-width:100%}
  .bk-footer-culture{max-width:520px;margin:0!important}
  .bk-footer-column{padding:0!important;border-left:0!important}
  .bk-copyright{padding:13px 28px 17px!important}
}

/* Phone layout. Designed around real-world 320–430px viewports. */
@media (max-width:620px){
  .wrap{width:calc(100% - 24px);max-width:none}
  .site-shell{width:100%;margin:0;border-radius:0}
  .brand-row{justify-content:flex-start;padding:10px 0}
  .brand-logo-picture{width:260px;max-width:78vw}
  .brand-logo-image{width:100%;height:auto}
  .nav-inner{padding:6px 0 9px}
  .main-nav{gap:18px;padding-bottom:8px}
  .main-nav a{font-size:14px!important;min-height:42px}
  .nav-actions{align-items:center;flex-wrap:nowrap}
  .search-form{height:40px;min-width:0;max-width:none;padding-right:5px}
  .search-form button{width:38px;height:38px;flex:0 0 38px}
  .search-form input,.search-form:focus-within input,.search-form:hover input{
    width:100%;font-size:16px;padding-left:4px
  }
  .account-link{display:none}
  .nav-actions .btn-small{min-height:40px;padding:0 14px;font-size:14px;white-space:nowrap}

  .hero{background-position:center center!important}
  .hero,.hero-inner{min-height:420px}
  .hero-inner{align-items:flex-end;padding:26px 0 30px}
  .hero-copy{width:100%;max-width:100%}
  .hero h1{font-size:clamp(36px,11vw,44px);line-height:.98;max-width:320px}
  .hero p{font-size:16px;line-height:1.55;max-width:310px}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:10px;width:min(100%,280px);margin-top:20px}
  .hero-actions .btn,.btn-large{width:100%;min-height:44px}

  .content-grid{padding-top:4px}
  .featured-column,.discussions-column{padding-top:18px}
  .section-heading{height:auto;min-height:36px;align-items:flex-start}
  .section-heading h2{font-size:18px;line-height:1.25}
  .article-grid{gap:14px}
  .article-body{min-height:0}
  .article-card h3{font-size:18px}
  .article-card p{font-size:15px}
  .discussion{grid-template-columns:42px minmax(0,1fr) auto;gap:10px;padding:12px 0}
  .discussion-copy strong{font-size:15px;line-height:1.3}
  .discussion-copy small{font-size:12px}
  .reply-count{min-width:34px}

  .home-section{padding-top:30px;padding-bottom:32px}
  .home-section-heading{align-items:flex-start;flex-direction:column;gap:7px}
  .home-section-heading h2{font-size:28px}
  .home-gallery-grid,.home-member-grid{grid-template-columns:1fr!important}
  .stats{grid-template-columns:1fr 1fr}
  .stat{align-items:flex-start}
  .stat strong{font-size:20px}

  .page-intro-inner{padding-top:28px;padding-bottom:28px}
  .page-intro h1{font-size:34px;overflow-wrap:anywhere}
  .page-intro p{font-size:16px;line-height:1.55}
  .page-intro .btn{width:100%;min-height:44px}
  .page-content{padding-top:24px;padding-bottom:34px}
  .page-section-heading{align-items:flex-start;flex-direction:column;gap:8px}
  .page-section-heading h2{font-size:28px;overflow-wrap:anywhere}
  .news-section-tabs{
    flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;
    -webkit-overflow-scrolling:touch;scrollbar-width:none
  }
  .news-section-tabs::-webkit-scrollbar{display:none}
  .news-section-tabs a{flex:0 0 auto;min-height:40px;font-size:12px}
  .news-feature h2{font-size:30px}
  .news-feature p,.gallery-card p,.news-card p{font-size:15px}
  .news-card h2,.gallery-card h2{font-size:24px}

  .article-detail-page,.gallery-detail-page{padding-top:18px;padding-bottom:34px}
  .article-detail-topbar,.gallery-detail-topbar{align-items:flex-start;flex-direction:column;gap:8px}
  .article-detail-content{padding:24px 18px 28px}
  .article-detail-content h1{font-size:34px;overflow-wrap:anywhere}
  .article-detail-body{font-size:16px;line-height:1.72}
  .gallery-detail-info{padding:22px 18px 24px}
  .gallery-detail-info h1{font-size:30px;overflow-wrap:anywhere}
  .gallery-detail-actions,.article-detail-actions{display:grid;grid-template-columns:1fr;gap:10px}
  .gallery-detail-actions .btn,.article-detail-actions .btn{width:100%;min-height:44px}

  /* Forms and moderation should never force horizontal scrolling. */
  input,select,textarea,button{max-width:100%}
  input[type="text"],input[type="email"],input[type="url"],input[type="search"],input[type="password"],select,textarea{font-size:16px}
  .report-card,.moderation-report,.event-form-card{padding-left:16px!important;padding-right:16px!important}
  .report-actions,.moderation-report-actions{align-items:stretch;flex-direction:column}
  .report-actions .btn,.moderation-report-actions .btn{width:100%;min-height:42px}

  /* Dedicated mobile footer artwork + stacked content. */
  .bk-footer{border-radius:0!important}
  .bk-footer-main{
    grid-template-columns:1fr!important;padding:28px 20px 26px!important;
    gap:22px!important
  }
  .bk-footer-brand-column,.bk-footer-culture{grid-column:auto!important}
  .bk-footer-brand-column{width:min(100%,300px)!important}
  .bk-footer-logo img{width:300px;max-width:100%}
  .bk-footer-slogan{display:flex!important;gap:7px!important;flex-wrap:wrap!important;justify-content:flex-start!important}
  .bk-footer-slogan strong{font-size:17px!important}
  .bk-footer-slogan b{font-size:15px!important}
  .bk-footer-column{gap:9px!important}
  .bk-footer-column h3{font-size:16px!important;margin-bottom:4px!important}
  .bk-footer-column a{font-size:16px!important;line-height:1.45!important}
  .bk-footer-culture>span{font-size:18px!important}
  .bk-footer-culture>strong{font-size:27px!important}
  .bk-footer-culture p{font-size:17px!important;line-height:1.55!important}
  .bk-copyright{
    padding:13px 20px 18px!important;align-items:flex-start!important;
    flex-direction:column!important;gap:6px!important;font-size:13px!important
  }
  .bk-copyright-motto{margin-left:0!important}
}

@media (max-width:360px){
  .wrap{width:calc(100% - 20px)}
  .brand-logo-picture{width:235px}
  .main-nav{gap:15px}
  .nav-actions .btn-small{padding:0 11px}
  .hero h1{font-size:35px}
  .stats{grid-template-columns:1fr}
  .bk-footer-main{padding-left:16px!important;padding-right:16px!important}
  .bk-copyright{padding-left:16px!important;padding-right:16px!important}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}


/* ==========================================================================
   BeKhmer v0.5.47 — corrected phone footer composition
   Use a right-sized full panorama as a short decorative banner rather than
   stretching/cropping the desktop footer artwork through the entire footer.
   ========================================================================== */
@media (max-width:620px){
  .bk-footer{
    background-color:#6d0c12!important;
    background-image:
      linear-gradient(to bottom,rgba(65,0,6,.04) 0,rgba(65,0,6,.06) 72px,rgba(65,0,6,.88) 108px,rgba(65,0,6,.98) 145px),
      url("../images/bekhmer/bekhmer-footer-banner-mobile-v0547.webp")!important;
    background-position:center top!important;
    background-size:100% auto!important;
    background-repeat:no-repeat!important;
  }

  .bk-footer-main{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    padding:126px 18px 22px!important;
    gap:18px 24px!important;
    min-height:0!important;
  }

  .bk-footer-brand-column{
    grid-column:1/-1!important;
    width:min(100%,220px)!important;
  }
  .bk-footer-logo img{
    width:220px!important;
    max-width:100%!important;
    height:auto!important;
  }
  .bk-footer-slogan{
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:flex-start!important;
    gap:4px 6px!important;
    margin-top:7px!important;
  }
  .bk-footer-slogan strong{font-size:14px!important;line-height:1.2!important}
  .bk-footer-slogan b{font-size:12px!important;line-height:1.2!important}

  .bk-footer-column{
    grid-column:auto!important;
    min-width:0!important;
    gap:7px!important;
    padding:0!important;
    border-left:0!important;
  }
  .bk-footer-column h3{
    font-size:14px!important;
    margin:0 0 4px!important;
    letter-spacing:.08em!important;
  }
  .bk-footer-column a{
    font-size:14px!important;
    line-height:1.4!important;
    overflow-wrap:anywhere!important;
  }

  .bk-footer-culture{
    grid-column:1/-1!important;
    width:100%!important;
    max-width:310px!important;
    margin:0!important;
  }
  .bk-footer-culture>span{font-size:15px!important}
  .bk-footer-culture>strong{font-size:22px!important;line-height:1.08!important}
  .bk-footer-culture p{font-size:14px!important;line-height:1.5!important;margin-top:8px!important}

  .bk-copyright{
    padding:12px 18px 16px!important;
    gap:5px!important;
    font-size:11.5px!important;
    line-height:1.4!important;
  }
}

@media (max-width:360px){
  .bk-footer-main{
    padding:112px 15px 20px!important;
    gap:16px 18px!important;
  }
  .bk-footer-brand-column{width:min(100%,205px)!important}
  .bk-footer-logo img{width:205px!important}
  .bk-footer-column h3,.bk-footer-column a{font-size:13px!important}
  .bk-footer-culture>strong{font-size:21px!important}
  .bk-copyright{padding-left:15px!important;padding-right:15px!important}
}


/* ==========================================================================
   BeKhmer v0.5.48 — mobile footer full-artwork correction
   The artwork now fills the footer instead of appearing as a tiny strip above
   a large plain-red area.
   ========================================================================== */
@media (max-width:620px){
  .bk-footer{
    background-color:#6b0a10!important;
    background-image:
      linear-gradient(90deg,rgba(54,0,5,.62) 0%,rgba(54,0,5,.46) 48%,rgba(54,0,5,.22) 100%),
      linear-gradient(180deg,rgba(54,0,5,.08) 0%,rgba(54,0,5,.28) 58%,rgba(54,0,5,.68) 100%),
      url("../images/bekhmer/bekhmer-footer-mobile-first-source-v0553.webp")!important;
    background-position:center center!important;
    background-size:cover!important;
    background-repeat:no-repeat!important;
  }

  .bk-footer-main{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    padding:24px 18px 18px!important;
    gap:14px 20px!important;
  }

  .bk-footer-brand-column{
    grid-column:1/-1!important;
    width:min(100%,195px)!important;
  }
  .bk-footer-logo img{
    width:195px!important;
    max-width:100%!important;
    height:auto!important;
  }

  .bk-footer-slogan{
    gap:3px 5px!important;
    margin-top:5px!important;
  }
  .bk-footer-slogan strong{font-size:13px!important;line-height:1.18!important}
  .bk-footer-slogan b{font-size:11px!important;line-height:1.18!important}

  .bk-footer-culture{
    grid-column:1/-1!important;
    max-width:270px!important;
    margin:0!important;
  }
  .bk-footer-culture>span{font-size:14px!important}
  .bk-footer-culture>strong{font-size:20px!important;line-height:1.08!important}
  .bk-footer-culture p{font-size:13px!important;line-height:1.45!important;margin-top:6px!important}

  .bk-footer-column{
    min-width:0!important;
    gap:5px!important;
  }
  .bk-footer-column h3{
    font-size:13px!important;
    margin-bottom:2px!important;
  }
  .bk-footer-column a{
    font-size:13px!important;
    line-height:1.35!important;
  }

  .bk-copyright{
    background:rgba(69,0,7,.48)!important;
    padding:10px 18px 13px!important;
    gap:4px!important;
    font-size:11px!important;
    line-height:1.35!important;
  }
}

@media (max-width:360px){
  .bk-footer-main{
    padding:20px 15px 16px!important;
    gap:12px 16px!important;
  }
  .bk-footer-brand-column{width:min(100%,180px)!important}
  .bk-footer-logo img{width:180px!important}
  .bk-footer-culture{max-width:250px!important}
  .bk-footer-column h3,.bk-footer-column a{font-size:12.5px!important}
}


/* ==========================================================================
   BeKhmer v0.5.56 — mobile footer slogan sizing
   Uses the clean first-source mobile artwork (780×460), keeps the
   compact Option A layout, and preserves the artwork's native aspect ratio.
   The image may crop slightly to fill the footer, but it will never stretch
   or squash as the footer height changes. Desktop footer remains unchanged.
   ========================================================================== */
@media (max-width:620px){
  .bk-footer{
    background-size:cover!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
  }

  .bk-footer-main{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    padding:18px 18px 14px!important;
    gap:12px 18px!important;
    min-height:0!important;
  }

  .bk-footer-brand-column{
    grid-column:1/-1!important;
    width:min(100%,170px)!important;
  }
  .bk-footer-logo img{
    width:170px!important;
    max-width:100%!important;
    height:auto!important;
  }

  .bk-footer-slogan{
    margin-top:4px!important;
    gap:2px 3px!important;
    flex-wrap:nowrap!important;
    white-space:nowrap!important;
  }
  .bk-footer-slogan strong{
    font-size:11.5px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
  }
  .bk-footer-slogan b{
    font-size:10px!important;
    line-height:1.15!important;
  }

  /* Remove the extra culture statement + Khmer translation on phones. */
  .bk-footer-culture{
    display:none!important;
  }

  .bk-footer-column{
    grid-column:auto!important;
    gap:4px!important;
    min-width:0!important;
  }
  .bk-footer-column h3{
    font-size:12px!important;
    margin:0 0 3px!important;
    letter-spacing:.08em!important;
  }
  .bk-footer-column a{
    font-size:12px!important;
    line-height:1.3!important;
  }

  .bk-copyright{
    padding:9px 18px 11px!important;
    gap:3px!important;
    font-size:10.5px!important;
    line-height:1.3!important;
  }
}

@media (max-width:360px){
  .bk-footer-main{
    padding:16px 14px 12px!important;
    gap:10px 14px!important;
  }
  .bk-footer-brand-column{width:min(100%,160px)!important}
  .bk-footer-logo img{width:160px!important}
  .bk-footer-slogan strong{font-size:10.5px!important}
  .bk-footer-slogan b{font-size:9.25px!important}
  .bk-footer-column h3,.bk-footer-column a{font-size:11.5px!important}
  .bk-copyright{
    padding-left:14px!important;
    padding-right:14px!important;
    font-size:10px!important;
  }
}


/* ==========================================================================
   BeKhmer v0.5.57 — dedicated mobile navigation
   Desktop navigation remains unchanged. At <=900px the wide desktop menu is
   replaced by a compact header trigger and an accessible slide-out drawer.
   ========================================================================== */
.bk-mobile-menu-toggle,.bk-mobile-menu,.bk-mobile-menu-backdrop{display:none}

@media (max-width:900px){
  body.bk-mobile-menu-open{overflow:hidden!important}
  .site-header{position:relative;z-index:20}
  .brand-row{justify-content:space-between!important;gap:12px!important}
  .brand-logo-picture{max-width:calc(100vw - 92px)!important}
  .nav-row{display:none!important}

  .bk-mobile-menu-toggle{
    display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;padding:0;
    border:1px solid rgba(117,13,18,.20);border-radius:12px;background:rgba(255,252,247,.92);
    color:#750d12;box-shadow:0 5px 16px rgba(74,32,20,.09);cursor:pointer
  }
  .bk-mobile-menu-toggle:hover,.bk-mobile-menu-toggle:focus-visible{
    border-color:rgba(117,13,18,.42);background:#fff;outline:0;box-shadow:0 0 0 3px rgba(181,137,64,.18)
  }
  .bk-mobile-menu-icon{display:flex;flex-direction:column;gap:4px;width:22px}
  .bk-mobile-menu-icon i{display:block;width:22px;height:2px;border-radius:2px;background:currentColor}

  .bk-mobile-menu-backdrop{
    display:block;position:fixed;inset:0;z-index:9998;background:rgba(30,12,9,.48);
    opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease;
    -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)
  }
  .bk-mobile-menu-backdrop.is-open{opacity:1;visibility:visible;pointer-events:auto}

  .bk-mobile-menu{
    display:flex;position:fixed;z-index:9999;top:0;right:0;bottom:0;width:min(88vw,370px);
    height:100vh;height:100dvh;flex-direction:column;background:#fffaf3;color:#45342d;
    border-left:1px solid rgba(117,13,18,.16);box-shadow:-18px 0 46px rgba(42,16,11,.24);
    transform:translateX(104%);visibility:hidden;transition:transform .24s ease,visibility .24s ease;
    overflow:hidden;text-align:left
  }
  .bk-mobile-menu.is-open{transform:translateX(0);visibility:visible}
  .bk-mobile-menu-head{
    display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;padding:13px 16px 13px 20px;
    background:linear-gradient(135deg,#741015 0%,#981920 100%);color:#fff;border-bottom:1px solid rgba(255,255,255,.14)
  }
  .bk-mobile-menu-brand{display:flex;flex-direction:column;gap:1px;min-width:0}
  .bk-mobile-menu-brand strong{font:600 25px/1 "Cormorant Garamond",Georgia,serif;letter-spacing:.01em;color:#fff}
  .bk-mobile-menu-brand span{font-size:10px;line-height:1.2;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#f0d7a2}
  .bk-mobile-menu-close{
    display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid rgba(255,255,255,.22);
    border-radius:11px;background:rgba(255,255,255,.08);color:#fff;font-size:28px;line-height:1;cursor:pointer
  }
  .bk-mobile-menu-close:hover,.bk-mobile-menu-close:focus-visible{background:rgba(255,255,255,.16);outline:2px solid rgba(244,206,112,.55);outline-offset:1px}
  .bk-mobile-menu-scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:17px 18px 24px}
  .bk-mobile-menu-search{display:flex;align-items:center;gap:8px;margin:0 0 18px;padding:7px 8px 7px 13px;border:1px solid #ddcdbd;border-radius:12px;background:#fff}
  .bk-mobile-menu-search input{width:100%;min-width:0;border:0!important;outline:0!important;background:transparent!important;color:#45342d;font:500 16px/1.2 "Source Sans 3",Arial,sans-serif;padding:5px 0!important}
  .bk-mobile-menu-search button{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:0;border-radius:9px;background:#f4e7d8;color:#7c1217;cursor:pointer}
  .bk-mobile-menu-search svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
  .bk-mobile-menu-label{margin:17px 4px 7px;color:#9a806c;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
  .bk-mobile-menu-nav{display:flex;flex-direction:column;gap:3px}
  .bk-mobile-menu-link{
    display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:45px;padding:9px 12px;
    border-radius:10px;color:#514039!important;text-decoration:none!important;font-size:16px;font-weight:650;line-height:1.25
  }
  .bk-mobile-menu-link::after{content:"›";color:#b79a79;font:500 23px/1 Georgia,serif}
  .bk-mobile-menu-link:hover,.bk-mobile-menu-link:focus-visible{background:#f3e5d6;color:#7b1217!important;outline:0}
  .bk-mobile-menu-link.is-active{background:#f2dfce;color:#7b1217!important;box-shadow:inset 3px 0 0 #8b151a}
  .bk-mobile-menu-link.is-active::after{color:#8b151a}
  .bk-mobile-menu-divider{height:1px;margin:16px 4px;background:#eadbcb}
  .bk-mobile-menu-account{display:grid;grid-template-columns:1fr;gap:8px;margin-top:8px}
  .bk-mobile-menu-account .btn{width:100%;min-height:43px;justify-content:center}
  .bk-mobile-menu-account-link{
    display:flex;align-items:center;justify-content:center;min-height:43px;padding:9px 12px;border:1px solid #dbc7b3;
    border-radius:10px;background:#fff;color:#6f171c!important;font-weight:700;text-decoration:none!important
  }
  .bk-mobile-menu-account-link:hover,.bk-mobile-menu-account-link:focus-visible{background:#f7ebde;outline:0}
  .bk-mobile-menu-slogan{margin:20px 4px 0;padding-top:14px;border-top:1px solid #eadbcb;color:#9a7650;font:italic 600 15px/1.35 "Cormorant Garamond",Georgia,serif;text-align:center}
}

@media (max-width:360px){
  .bk-mobile-menu{width:min(91vw,340px)}
  .bk-mobile-menu-scroll{padding-left:15px;padding-right:15px}
}


/* v0.5.59 — Interests navigation group */
@media (min-width:901px){
  .main-nav{overflow:visible!important}
  .bk-nav-dropdown{position:relative;display:flex;align-items:stretch;height:100%}
  .bk-nav-dropdown-toggle{position:relative;display:flex;align-items:center;gap:6px;height:100%;padding:0;border:0;background:transparent;color:#5d4a44;font:600 14px/1 "Source Sans 3",Arial,sans-serif;white-space:nowrap;cursor:pointer}
  .bk-nav-dropdown-toggle:hover,.bk-nav-dropdown-toggle:focus-visible,.bk-nav-dropdown.is-active>.bk-nav-dropdown-toggle,.bk-nav-dropdown.is-open>.bk-nav-dropdown-toggle{color:#7d1015;outline:0}
  .bk-nav-dropdown.is-active>.bk-nav-dropdown-toggle:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;border-radius:4px 4px 0 0;background:var(--maroon)}
  .bk-nav-dropdown-caret{font-size:11px;line-height:1;transition:transform .18s ease}
  .bk-nav-dropdown.is-open .bk-nav-dropdown-caret{transform:rotate(180deg)}
  .bk-nav-dropdown-menu{position:absolute;z-index:150;top:calc(100% - 1px);right:0;min-width:172px;padding:7px;background:#fffdf9;border:1px solid #dfcfbd;border-radius:0 0 11px 11px;box-shadow:0 14px 28px rgba(55,35,25,.16);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .16s ease,transform .16s ease,visibility .16s ease}
  .bk-nav-dropdown.is-open>.bk-nav-dropdown-menu,.bk-nav-dropdown:focus-within>.bk-nav-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}
  .bk-nav-dropdown-menu a{display:flex!important;align-items:center!important;height:auto!important;min-height:38px;padding:8px 11px!important;border-radius:7px;color:#5d4a44!important;font-size:14px!important;line-height:1.2!important}
  .bk-nav-dropdown-menu a:hover,.bk-nav-dropdown-menu a:focus-visible,.bk-nav-dropdown-menu a.active{background:#f5e8da;color:#7d1015!important;outline:0}
  .bk-nav-dropdown-menu a.active:after{display:none!important}
}
@media (max-width:900px){.bk-nav-dropdown{display:none!important}}
.bk-mobile-submenu{display:flex;flex-direction:column;gap:3px}
.bk-mobile-submenu-toggle{width:100%;border:0;background:transparent;text-align:left;cursor:pointer;font-family:inherit}
.bk-mobile-submenu-toggle::after{content:"⌄"!important;font:700 17px/1 "Source Sans 3",Arial,sans-serif!important;transition:transform .18s ease}
.bk-mobile-submenu.is-open>.bk-mobile-submenu-toggle::after{transform:rotate(180deg)}
.bk-mobile-submenu-panel{display:none;padding:2px 0 4px 14px}
.bk-mobile-submenu.is-open>.bk-mobile-submenu-panel{display:flex;flex-direction:column;gap:3px}
.bk-mobile-submenu-panel .bk-mobile-menu-link{min-height:42px;background:#fffaf4;font-size:15px}
.bk-mobile-submenu-panel .bk-mobile-menu-link::after{content:"›"!important;transform:none!important}


/* BeKhmer v0.5.62 — universal public-page sharing */
.bk-page-share-strip{position:relative;z-index:20;background:transparent}
.bk-page-share-inner{display:flex;justify-content:flex-end;align-items:center;min-height:42px;padding-top:6px;padding-bottom:6px}
.bk-page-share-button{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:6px 11px;border:1px solid #d7c2a7;border-radius:999px;background:#fffaf3;color:#6f171b;box-shadow:0 2px 8px rgba(61,34,20,.06);font:700 12px/1.1 "Source Sans 3",Arial,sans-serif;cursor:pointer;text-decoration:none;white-space:nowrap}
.bk-page-share-button:hover,.bk-page-share-button:focus-visible{background:#f5e7d7;border-color:#c7a77d;color:#5b0f13;outline:0}
.bk-page-share-button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.bk-share-popover{position:fixed;z-index:10050;width:210px;padding:7px;background:#fffdf9;border:1px solid #ddcbb6;border-radius:11px;box-shadow:0 16px 38px rgba(47,30,21,.22);font:600 14px/1.2 "Source Sans 3",Arial,sans-serif}
.bk-share-popover[hidden]{display:none!important}
.bk-share-option{display:flex;width:100%;align-items:center;gap:10px;min-height:42px;padding:9px 11px;border:0;border-radius:8px;background:transparent;color:#4b3730;text-align:left;cursor:pointer;font:600 14px/1.2 "Source Sans 3",Arial,sans-serif}
.bk-share-option:hover,.bk-share-option:focus-visible{background:#f3e5d6;color:#6f171b;outline:0}
.bk-share-option svg{width:18px;height:18px;fill:currentColor;flex:0 0 auto}
.bk-share-toast{position:fixed;z-index:10060;left:50%;bottom:24px;transform:translate(-50%,10px);padding:9px 14px;border-radius:999px;background:#4d080c;color:#fff;font:700 13px/1.2 "Source Sans 3",Arial,sans-serif;box-shadow:0 9px 24px rgba(0,0,0,.2);opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease}
.bk-share-toast.is-visible{opacity:1;transform:translate(-50%,0)}
@media (max-width:700px){.bk-page-share-inner{min-height:40px;padding-top:5px;padding-bottom:5px}.bk-page-share-button{min-height:34px;padding:7px 11px}.bk-share-popover{width:min(220px,calc(100vw - 24px))}.bk-share-toast{bottom:18px}}


/* v0.5.63 — make sharing an intentional, visible action */
.bk-page-share-button{min-height:38px!important;padding:9px 15px!important;border:1px solid #941017!important;border-radius:8px!important;background:#a9121a!important;color:#fff!important;box-shadow:0 4px 12px rgba(111,16,22,.18)!important;font-size:13px!important;letter-spacing:.01em}
.bk-page-share-button:hover,.bk-page-share-button:focus-visible{background:#7f0d13!important;border-color:#7f0d13!important;color:#fff!important;box-shadow:0 5px 15px rgba(83,11,16,.24)!important;outline:0}
.bk-page-share-button svg{color:#fff!important;stroke:currentColor!important}
@media(max-width:700px){.bk-page-share-button{min-height:40px!important;padding:9px 14px!important}}

/* v0.5.64 — keep Interests usable and its links fully clickable. */
@media (min-width:901px){
  .site-header,.nav-row,.nav-inner,.main-nav{overflow:visible!important}
  .bk-nav-dropdown{position:relative;z-index:900}
  .bk-nav-dropdown-menu{z-index:10020!important;pointer-events:none!important}
  .bk-nav-dropdown.is-open>.bk-nav-dropdown-menu,
  .bk-nav-dropdown:hover>.bk-nav-dropdown-menu,
  .bk-nav-dropdown:focus-within>.bk-nav-dropdown-menu{opacity:1!important;visibility:visible!important;transform:translateY(0)!important;pointer-events:auto!important}
  .bk-nav-dropdown-menu a{position:relative;z-index:1;pointer-events:auto!important;cursor:pointer}
}

/* v0.5.65 — Interests dropdown reliability + desktop nav vertical alignment. */
@media (min-width:901px){
  .site-header{position:relative!important;z-index:1000!important;overflow:visible!important}
  .nav-row,.nav-inner,.main-nav{overflow:visible!important}
  .main-nav>a,.bk-nav-dropdown-toggle{box-sizing:border-box;padding-top:4px!important}
  .bk-nav-dropdown{position:relative!important;z-index:1100!important;overflow:visible!important}
  .bk-nav-dropdown::after{content:"";position:absolute;z-index:1;left:-10px;right:-10px;top:100%;height:14px;background:transparent;pointer-events:auto}
  .bk-nav-dropdown-menu{position:absolute!important;z-index:1200!important;top:100%!important;right:0!important;margin-top:0!important;transform:none!important;transition:opacity .12s ease,visibility .12s ease!important}
  .bk-nav-dropdown.is-open>.bk-nav-dropdown-menu,
  .bk-nav-dropdown:hover>.bk-nav-dropdown-menu,
  .bk-nav-dropdown:focus-within>.bk-nav-dropdown-menu{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important}
  .bk-nav-dropdown-menu a{position:relative;z-index:2;pointer-events:auto!important}
}

/* ========================================================================
   BeKhmer v0.5.69 — canonical forum chrome on public pages
   Header/footer/frame use the forum's actual structure and measurements.
   Public page bodies remain page-specific.
   ======================================================================== */
:root{
  --bk-bg:#eee7dd;
  --bk-shell:#fcfaf6;
  --bk-paper:#fff;
  --bk-cream:#fbf4e9;
  --bk-maroon:#8d1117;
  --bk-maroon-dark:#650b10;
  --bk-gold:#c89534;
  --bk-gold-soft:#e5c67d;
  --bk-ink:#2c211d;
  --bk-muted:#786b64;
  --bk-line:#eadfd3;
  --bk-serif:"Cormorant Garamond",Georgia,serif;
  --bk-sans:"Source Sans 3",Arial,sans-serif;
}
html,body{background-color:#f5ecd9}
body{overflow-x:clip}

/* Same outer frame dimensions and side ornament system as phpBB. */
.bk-page-frame{position:relative;width:min(calc(100% - 42px),1380px);margin:18px auto;z-index:0}
.bk-page-frame>.site-shell{width:100%;margin:0;background:var(--bk-shell);border:0;border-radius:22px;box-shadow:0 12px 32px rgba(55,37,27,.08);overflow:hidden}
.bk-page-frame::before,.bk-page-frame::after{
  content:"";position:absolute;top:0;bottom:0;pointer-events:none;z-index:-1;
  width:clamp(20px,calc((100vw - 1412px)/2),96px);
  background-size:156px 468px;
  background-repeat:repeat-y;
  opacity:.62;
  filter:sepia(.12) saturate(.78) brightness(1.06);
  mix-blend-mode:multiply;
}
.bk-page-frame::before{
  right:100%;
  background-image:url("/assets/images/bekhmer/bekhmer-side-left-v0435.webp");
  background-position:right top;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.42) 20%,#000 72%,rgba(0,0,0,.72) 88%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.42) 20%,#000 72%,rgba(0,0,0,.72) 88%,transparent 100%);
}
.bk-page-frame::after{
  left:100%;
  background-image:url("/assets/images/bekhmer/bekhmer-side-right-v0435.webp");
  background-position:left top;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.72) 12%,#000 28%,rgba(0,0,0,.42) 80%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.72) 12%,#000 28%,rgba(0,0,0,.42) 80%,transparent 100%);
}
.bk-frame-caps{display:none}
@media (max-width:1100px){
  .bk-page-frame::before,.bk-page-frame::after{
    width:clamp(16px,calc((100vw - 1036px)/2),62px);
    background-size:118px 354px;
    opacity:.51;
  }
}

/* Canonical forum header. */
.site-header.bk-site-header{position:relative;z-index:5000;background:var(--bk-paper);overflow:visible}
.bk-top-header-scene{position:relative;isolation:isolate;background:#fbf6ec;overflow:visible}
.bk-top-header-scene>.bk-brand-strip,.bk-top-header-scene>.bk-primary-nav{position:relative;z-index:1}
.bk-brand-strip{
  min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:30px;
  padding:14px 36px;background:transparent;border-bottom:1px solid var(--bk-line);overflow:visible;
}
.bk-logo{display:block;flex:0 1 360px;max-width:360px;line-height:0}
.bk-logo picture{display:block;line-height:0}
.bk-logo img{display:block;width:360px;max-width:100%;height:auto}
.bk-motto{text-align:right;color:#7d604f}
.bk-motto strong{display:inline-block;padding-bottom:5px;border-bottom:1px solid #d1b99d;font:italic 600 21px/1.1 var(--bk-serif);color:#8e5438}
.bk-motto span{display:flex;justify-content:flex-end;align-items:center;gap:0;margin-top:9px;font:600 12px/1.2 var(--bk-sans);letter-spacing:.19em;text-transform:uppercase}
.bk-motto i{padding:0 5px;color:#ba9671;font-style:normal}
.bk-motto a{color:#715f54!important;text-decoration:none}
.bk-motto a:hover,.bk-motto a:focus{color:var(--bk-maroon)!important}
.bk-primary-nav{
  position:relative;z-index:5100;min-height:52px;display:flex;align-items:stretch;justify-content:space-between;gap:24px;
  padding:0 36px;background:rgba(255,250,245,.50);border-bottom:1px solid rgba(232,221,210,.76);overflow:visible;
}
.bk-primary-links{display:flex;align-items:stretch;gap:31px;min-width:0;overflow:visible;scrollbar-width:none}
.bk-primary-links::-webkit-scrollbar{display:none}
.bk-primary-links>a,.bk-primary-links .bk-nav-dropdown-toggle{
  position:relative;display:flex;align-items:center;min-height:52px;box-sizing:border-box;padding:4px 0 0!important;
  color:#574741!important;font:600 14px/1 var(--bk-sans);white-space:nowrap;text-shadow:0 1px 0 rgba(255,255,255,.72)
}
.bk-primary-links>a:hover,.bk-primary-links>a:focus,.bk-primary-links>a.active-forum,
.bk-primary-links .bk-nav-dropdown-toggle:hover,.bk-primary-links .bk-nav-dropdown-toggle:focus-visible,
.bk-nav-dropdown.is-active>.bk-nav-dropdown-toggle,.bk-nav-dropdown.is-open>.bk-nav-dropdown-toggle{color:var(--bk-maroon)!important;outline:0}
.bk-primary-links>a.active-forum::after{content:"";position:absolute;left:0;right:0;bottom:11px;height:3px;border-radius:4px 4px 0 0;background:var(--bk-maroon)}
.bk-primary-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto;min-height:52px}
.bk-nav-search{width:34px;height:34px;display:grid;place-items:center;color:var(--bk-maroon)!important;border-right:1px solid #e1d4c8;padding-right:10px;box-sizing:content-box;text-shadow:0 1px 0 rgba(255,255,255,.72)}
.bk-nav-search svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.bk-account-name{max-width:135px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 14px/1.2 var(--bk-sans);color:#6d2c2e!important;text-shadow:0 1px 0 rgba(255,255,255,.72)}
.bk-enter-button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0 15px;border-radius:8px;background:linear-gradient(180deg,#a4171d,#7f1015);color:#fff!important;font:700 13px/1 var(--bk-sans);box-shadow:0 7px 16px rgba(124,16,21,.18)}

@media (min-width:901px){
  .bk-top-header-scene{padding-top:12px;z-index:5000;overflow:visible}
  .bk-top-header-scene::before{
    content:"";position:absolute;z-index:0;left:50%;bottom:0;width:min(900px,70%);height:170px;transform:translateX(-50%);
    background:url("/assets/images/bekhmer/bekhmer-header-skyline-v0541.webp") center bottom/100% auto no-repeat;
    opacity:.40;mix-blend-mode:multiply;pointer-events:none;
  }
  .bk-primary-nav,.bk-primary-links,.bk-nav-dropdown{overflow:visible!important}
  .bk-nav-dropdown{display:flex!important;flex:0 0 auto;align-items:stretch;position:relative!important;z-index:5200!important}
  .bk-nav-dropdown::after{content:"";position:absolute;z-index:1;left:-10px;right:-10px;top:100%;height:14px;background:transparent;pointer-events:auto}
  .bk-nav-dropdown-toggle{display:flex;align-items:center;gap:6px;border:0;background:transparent;cursor:pointer}
  .bk-nav-dropdown-caret{font-size:11px;line-height:1;transition:transform .18s ease}
  .bk-nav-dropdown.is-open .bk-nav-dropdown-caret{transform:rotate(180deg)}
  .bk-nav-dropdown.is-active>.bk-nav-dropdown-toggle::after{content:"";position:absolute;left:0;right:0;bottom:11px;height:3px;border-radius:4px 4px 0 0;background:var(--bk-maroon)}
  .bk-nav-dropdown-menu{position:absolute!important;z-index:5300!important;top:100%!important;right:0!important;left:auto!important;min-width:176px;margin-top:0!important;padding:7px;background:#fffdf9;border:1px solid #dfcfbd;border-radius:10px;box-shadow:0 14px 28px rgba(55,35,25,.18);opacity:0;visibility:hidden;pointer-events:none;transform:none!important;transition:opacity .12s ease,visibility .12s ease!important}
  .bk-nav-dropdown.is-open>.bk-nav-dropdown-menu,.bk-nav-dropdown:hover>.bk-nav-dropdown-menu,.bk-nav-dropdown:focus-within>.bk-nav-dropdown-menu{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
  .bk-nav-dropdown-menu a{display:flex!important;align-items:center!important;min-height:40px!important;padding:8px 11px!important;border-radius:7px;color:#574741!important;font:600 14px/1.2 var(--bk-sans)!important;pointer-events:auto!important}
  .bk-nav-dropdown-menu a:hover,.bk-nav-dropdown-menu a:focus-visible,.bk-nav-dropdown-menu a.active{background:#f5e8da;color:var(--bk-maroon)!important;outline:0}
}


/* Match phpBB footer corner branding. */
.bk-footer-corner-brand{
  position:absolute;top:14px;right:18px;z-index:6;display:block;
  width:140px;line-height:0;text-decoration:none;opacity:.86
}
.bk-footer-corner-brand img{
  display:block;width:140px;height:auto;margin:0;border:0;
  filter:drop-shadow(0 1px 2px rgba(30,0,2,.45))
}
@media (max-width:620px){
  .bk-footer-corner-brand{display:none!important}
}

/* Canonical forum footer. No public-page rescaling. */
.site-footer.bk-footer{
  position:relative;margin:0;padding:0;overflow:hidden;border:0;border-radius:0 0 22px 22px;
  background-color:#72090e!important;
  background-image:linear-gradient(90deg,rgba(48,0,4,.26) 0%,rgba(48,0,4,.15) 34%,rgba(48,0,4,.06) 62%,rgba(48,0,4,.03) 100%),url("/assets/images/bekhmer/bekhmer-footer-banner-v0541.webp")!important;
  background-position:right center!important;background-size:cover!important;background-repeat:no-repeat!important;color:#f7eadc;
}
.bk-footer-main{position:relative;z-index:1;display:grid;grid-template-columns:minmax(320px,350px) 140px 150px minmax(260px,1fr);gap:30px;align-items:center;min-height:330px;padding:44px 250px 38px 42px}
.bk-footer-brand-column{width:min(100%,350px);min-width:0;align-self:center}
.bk-footer-logo{display:block;width:100%;margin:0 0 4px;line-height:0}
.bk-footer-logo img{display:block;width:100%;max-width:100%;height:auto;margin:0;border:0;filter:none;opacity:1}
.bk-footer-slogan{display:grid;grid-template-columns:max-content max-content max-content max-content max-content;justify-content:space-between;align-items:center;width:100%;padding-top:6px;border-top:1px solid rgba(240,198,102,.72)}
.bk-footer-slogan strong{color:#f3d27f;font:600 20px/1.12 var(--bk-serif);white-space:nowrap}
.bk-footer-slogan strong:nth-of-type(1){text-align:left}.bk-footer-slogan strong:nth-of-type(2){text-align:center}.bk-footer-slogan strong:nth-of-type(3){text-align:right}
.bk-footer-slogan b{color:#efc568;font:400 18px/1 var(--bk-sans)}
.bk-footer-column{display:flex;flex-direction:column;align-items:flex-start;align-self:stretch;justify-content:flex-start;gap:12px;min-width:0;padding:38px 0 0 26px;border-left:1px solid rgba(240,198,102,.48)}
.bk-footer-column h3{margin:0 0 10px;padding:0;border:0;color:#fff;font:800 18px/1.2 var(--bk-sans);letter-spacing:.055em;text-transform:uppercase;text-shadow:0 1px 2px rgba(35,0,3,.50)}
.bk-footer-column a{color:#fff4e9!important;font:500 17px/1.42 var(--bk-sans);text-decoration:none;text-shadow:0 1px 2px rgba(35,0,3,.50)}
.bk-footer-column a:hover,.bk-footer-column a:focus{color:#f4ce70!important}
.bk-footer-culture{align-self:end;width:min(100%,340px);margin:0 0 24px;padding:0;color:#f6e0c8;text-shadow:0 1px 3px rgba(39,0,2,.55)}
.bk-footer-culture>span{display:block;color:#f7e2ca;font:italic 20px/1.2 var(--bk-serif)}
.bk-footer-culture>strong{display:block;margin-top:4px;color:#f2c85e;font:italic 600 30px/1.08 var(--bk-serif)}
.bk-footer-culture p{max-width:340px;margin:13px 0 0;color:#fff5e9;font-family:"Noto Sans Khmer","Khmer OS",sans-serif;font-size:18px;line-height:1.5;font-weight:600}
.bk-footer-utility{position:relative;z-index:2;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 46px;border-top:1px solid rgba(255,255,255,.13);background:rgba(92,7,13,.50);color:#ead7c2;font:400 15px/1.4 var(--bk-sans);text-shadow:0 1px 2px rgba(35,0,3,.48)}
.bk-footer-utility-left,.bk-footer-utility-right{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.bk-footer-utility a{color:#f1dfcc!important;text-decoration:none}.bk-footer-utility a:hover,.bk-footer-utility a:focus{color:#fff!important}
.bk-copyright{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:0;padding:13px 46px 16px;border-top:1px solid rgba(255,255,255,.07);background:rgba(92,7,13,.50);color:#dfc8af;text-align:left;font:400 14px/1.4 var(--bk-sans);text-shadow:0 1px 2px rgba(35,0,3,.48)}
.bk-copyright-motto{margin-left:auto;color:#ecd7bd}.bk-copyright-motto b{padding:0 6px;color:#efc568;font-weight:400}

@media (max-width:1180px) and (min-width:901px){
  .bk-footer-main{grid-template-columns:minmax(300px,1.2fr) minmax(135px,.55fr) minmax(145px,.6fr);grid-template-rows:auto auto;min-height:0;padding:38px 245px 32px 34px;gap:30px}
  .bk-footer-culture{grid-column:1/-1;grid-row:2;align-self:start;width:min(100%,540px);margin:0}
}

@media (max-width:900px){
  .bk-page-frame{width:100%;margin:0}.bk-page-frame::before,.bk-page-frame::after,.bk-frame-caps{display:none}
  .bk-page-frame>.site-shell{border-radius:0;box-shadow:none}
  .bk-top-header-scene{padding-top:0;position:relative;z-index:30}
  .bk-top-header-scene::before{content:none!important;display:none!important}
  .bk-brand-strip{min-height:78px!important;padding:11px 18px!important;justify-content:space-between!important;gap:12px!important;background:#fbf6ec}
  .bk-logo{flex-basis:300px!important;max-width:calc(100vw - 92px)!important}.bk-logo img{width:100%!important}
  .bk-motto{display:none!important}.bk-primary-nav{display:none!important}
}

@media (max-width:620px){
  .bk-brand-strip{padding:10px 12px!important}.bk-logo{flex-basis:260px!important;max-width:78vw!important}
}

/* ==========================================================================
   Public phone footer — match current forum mobile footer.
   This block is intentionally last so the mobile composition wins over the
   later desktop canonical footer rules.
   ========================================================================== */
@media (max-width:620px){
  .site-footer.bk-footer{
    border-radius:0!important;
    background-color:#6b0a10!important;
    background-image:
      linear-gradient(90deg,rgba(54,0,5,.62) 0%,rgba(54,0,5,.46) 48%,rgba(54,0,5,.22) 100%),
      linear-gradient(180deg,rgba(54,0,5,.08) 0%,rgba(54,0,5,.28) 58%,rgba(54,0,5,.68) 100%),
      url("/assets/images/bekhmer/bekhmer-footer-mobile-first-source-v0553.webp")!important;
    background-position:center center!important;
    background-size:cover!important;
    background-repeat:no-repeat!important;
  }

  .bk-footer-corner-brand{display:none!important}

  .bk-footer-main{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    padding:18px 18px 14px!important;
    gap:12px 18px!important;
    min-height:0!important;
  }

  .bk-footer-brand-column{
    grid-column:1/-1!important;
    width:min(100%,170px)!important;
  }

  .bk-footer-logo{width:100%!important}
  .bk-footer-logo img{
    width:170px!important;
    max-width:100%!important;
    height:auto!important;
  }

  .bk-footer-slogan{
    display:flex!important;
    justify-content:flex-start!important;
    margin-top:4px!important;
    gap:2px 3px!important;
    flex-wrap:nowrap!important;
    white-space:nowrap!important;
  }
  .bk-footer-slogan strong{
    font-size:11.5px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
  }
  .bk-footer-slogan b{
    font-size:10px!important;
    line-height:1.15!important;
  }

  .bk-footer-culture{display:none!important}

  .bk-footer-column{
    grid-column:auto!important;
    min-width:0!important;
    gap:4px!important;
    padding:0!important;
    border-left:0!important;
    align-self:start!important;
  }
  .bk-footer-column h3{
    font-size:12px!important;
    margin:0 0 3px!important;
    letter-spacing:.08em!important;
  }
  .bk-footer-column a{
    font-size:12px!important;
    line-height:1.3!important;
  }

  .bk-copyright{
    padding:9px 18px 11px!important;
    gap:3px!important;
    font-size:10.5px!important;
    line-height:1.3!important;
    flex-direction:column!important;
    align-items:flex-start!important;
  }
  .bk-copyright-motto{margin-left:0!important}
}

@media (max-width:360px){
  .bk-footer-main{
    padding:16px 14px 12px!important;
    gap:10px 14px!important;
  }
  .bk-footer-brand-column{width:min(100%,160px)!important}
  .bk-footer-logo img{width:160px!important}
  .bk-footer-slogan strong{font-size:10.5px!important}
  .bk-footer-slogan b{font-size:9.25px!important}
  .bk-footer-column h3,.bk-footer-column a{font-size:11.5px!important}
  .bk-copyright{
    padding-left:14px!important;
    padding-right:14px!important;
    font-size:10px!important;
  }
}

/* ==========================================================================
   Mobile portrait hero refinement — offline test only.
   Scope is intentionally limited to phone portrait so desktop, tablet, and
   landscape hero compositions remain unchanged.
   ========================================================================== */
@media (max-width:620px) and (orientation:portrait){
  .hero{
    background-image:url("../images/bekhmer/bekhmer-hero-mobile-portrait-v0571.webp")!important;
    background-position:center center!important;
    background-size:cover!important;
  }
  .hero,
  .hero-inner{
    min-height:390px!important;
  }
  .hero-inner{
    align-items:flex-end!important;
    padding:22px 0 24px!important;
  }
  .hero h1{
    max-width:300px!important;
    font-size:clamp(35px,10.2vw,42px)!important;
    line-height:1!important;
    margin-bottom:8px!important;
  }
  .hero p{
    max-width:300px!important;
    font-size:15px!important;
    line-height:1.48!important;
  }
  .hero-actions{
    width:min(100%,280px)!important;
    gap:8px!important;
    margin-top:16px!important;
  }
}
