/* Mahasalathum 1.2 — quiet elegance. Fonts bundled under SIL OFL. */
@font-face{font-family:Pridi;src:url("fonts/Pridi-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Sarabun;src:url("fonts/Sarabun-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Sarabun;src:url("fonts/Sarabun-SemiBold.ttf") format("truetype");font-style:normal;font-weight:600 900;font-display:swap}
:root{--ink:#352c26;--paper:#f7f4ed;--gold:#aa8952;--dark:#251f1b;--line:#e2d9ca;--white:#fffdf8}
body{background:var(--paper);font-family:Sarabun,Tahoma,sans-serif;font-size:17px;font-weight:400;line-height:1.95;color:var(--ink)}
h1,h2,h3,.brand-name{font-family:Pridi,Georgia,serif;font-weight:400;letter-spacing:0}
.wrap{width:min(1240px,calc(100% - 96px))}
.masthead{background:var(--paper);color:var(--ink);border-top:3px solid var(--gold);border-bottom:1px solid var(--line)}
.header-inner{min-height:132px}.brand{gap:21px}.brand-name{font-size:31px;line-height:1.7;color:var(--ink)}.brand-symbol{width:54px;height:54px;border:1px solid var(--gold);color:#93723f;background:transparent;font-size:29px}.brand small{color:#7c694e;letter-spacing:4px;font-size:10px}.header-note{color:#756957;font-size:14px;letter-spacing:0}
.nav-bar{background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line)}
.nav-inner{min-height:66px}.primary-menu{gap:4px 36px}.primary-menu a{font-size:15px;color:#564b3f;position:relative;padding:19px 0}.primary-menu>li>a:after{content:"";position:absolute;bottom:10px;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .3s}.primary-menu>li>a:hover:after,.primary-menu>li>a:focus-visible:after,.primary-menu .current-menu-item>a:after{transform:scaleX(1)}.primary-menu ul{background:var(--white);border-color:var(--line);padding:14px 22px}.search-link,.menu-toggle{color:#746043;font-size:14px}
.hero{background:var(--dark);color:#f4ede0;padding-top:30px;border:0}
.hero-art{display:block;width:calc(100% - 96px);max-width:1440px;height:auto;max-height:none;aspect-ratio:1260/312;object-fit:contain;margin:0 auto;border:0;box-shadow:none}
.hero-copy{padding:64px 0 72px;gap:56px}.hero h1{font-size:clamp(30px,3.6vw,47px);line-height:1.65;color:#eddfc2;margin-bottom:16px}.hero p{font-size:17px;line-height:2;max-width:680px;color:#d1c7b8}.eyebrow{color:#856938;font-family:Sarabun,sans-serif;font-size:11px;letter-spacing:3px}.hero .eyebrow{color:#c8ad7a;margin-bottom:20px}
.button{background:#b79860;border:1px solid #b79860;color:#211c16;padding:14px 27px;font-size:15px;border-radius:2px;box-shadow:none;transition:background .25s,transform .25s;position:relative;overflow:hidden}
.button:after{content:"";position:absolute;inset:-50% -70%;background:linear-gradient(110deg,transparent 42%,#fff5 50%,transparent 58%);transform:translateX(-80%);pointer-events:none}.button:hover,.button:focus-visible{background:#cbb181;color:#211c16;transform:translateY(-2px)}.button:hover:after,.button:focus-visible:after{animation:msth-sheen 1s ease-out both}
.section{padding:76px 0}.section-heading{padding-bottom:25px;margin-bottom:36px;border-bottom:1px solid var(--line);gap:30px}.section-heading h2{font-size:32px;line-height:1.7}.section-heading p{font-size:16px;line-height:1.9;color:#766b5d}.topics{border:0;background:transparent;gap:22px}.topic{border:1px solid var(--line);border-radius:2px;background:transparent;padding:32px 27px;box-shadow:none;transition:transform .3s,border-color .3s,background .3s}.topic:hover,.topic:focus-visible{background:#fffdf7;border-color:#b89c69;transform:translateY(-3px)}.topic-number{font-size:11px;color:#806b49;margin-bottom:25px;letter-spacing:1.5px}.topic h3{font-size:21px;line-height:1.7;margin-bottom:13px}.topic span:last-child{font-size:14px;color:#746957}
.content-layout{gap:64px;grid-template-columns:minmax(0,1fr) 290px}.reading-panel{padding:46px;background:var(--white);border:1px solid var(--line);border-radius:2px;box-shadow:none}.entry-content{font-size:18px;line-height:2.1}.entry-content p{margin-bottom:28px}.entry-content h2,.entry-content h3{margin-top:34px;margin-bottom:22px}.entry-content>h3:first-child{margin-top:0}.entry-content li{margin-bottom:15px}.entry-content blockquote{background:#f5f0e5;border-left:2px solid #ad8b50;padding:27px 30px;margin:34px 0;color:#6b5432}.entry-content blockquote p:last-child{margin-bottom:0}.entry-content iframe,.entry-content video{margin:15px 0 24px}.entry-content a{color:#7e5c26}.entry-meta{font-size:13px;color:#776c5e}.creator-credit{font-size:16px;line-height:2;overflow-wrap:anywhere;border-top:1px solid var(--line);padding-top:23px;margin-top:28px;color:#594a35}
.widget{margin-bottom:40px;padding-bottom:30px}.widget-title{font-size:22px;border-bottom:1px solid var(--line);padding-bottom:20px;line-height:1.7}.widget li{font-size:16px;margin:13px 0}.quiet-box{padding:29px;background:#eee7d8;border:0}.quiet-box .widget-title{border-color:#d8cbb4}.quiet-box p{font-size:16px;line-height:2;color:#675b48}
.search-field{background:var(--white);border-color:#d8cbb8;border-radius:2px;font-size:15px;padding:12px}.search-submit{background:var(--dark);color:#f2e8d4;border:1px solid var(--dark);border-radius:2px;font-size:15px}
.cards{gap:30px}.card{border:1px solid var(--line);border-radius:2px;box-shadow:none;background:var(--white);transition:transform .3s,border-color .3s}.card:hover{transform:translateY(-3px);border-color:#bca575}.card-body{padding:30px}.card h2{font-size:24px;line-height:1.7;margin-bottom:18px}.card p{font-size:16px;line-height:1.95;color:#74695b}.card-placeholder{background:#eae2d2;color:#967a49;font-size:48px;text-shadow:none}.card-image:hover img{transform:scale(1.02)}.text-link{font-size:15px;color:#7e5c26;border-color:#c9b48e}
.footer{background:var(--dark);border-top:1px solid var(--gold);padding:66px 0 26px;margin-top:40px}.footer-top{padding-bottom:40px}.footer .brand-name{color:#e6d6b7;font-size:27px}.footer p{font-size:15px;line-height:2;color:#c7bdad}.footer-bottom{font-size:12px;border-top-color:#ffffff20;color:#b8ad9d}.footer-menu{font-size:15px;gap:26px}
@keyframes msth-sheen{from{transform:translateX(-80%)}to{transform:translateX(80%)}}
@media(min-width:901px){.js .nav-inner.has-many-items{flex-wrap:wrap;padding:14px 0}.js .has-many-items .menu-toggle{display:block;border:0;background:transparent;cursor:pointer;padding:8px 0}.js .has-many-items .site-nav{display:none;order:3;width:100%}.js .has-many-items .site-nav.is-open{display:block}.has-many-items .primary-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 36px}.has-many-items .primary-menu ul{position:static;display:block;border:0;padding:0 0 0 18px;min-width:0;background:transparent}.has-many-items .primary-menu a{padding:9px 0;overflow-wrap:anywhere}}
@media(max-width:1100px){.content-layout{gap:36px;grid-template-columns:minmax(0,1fr) 250px}.reading-panel{padding:32px}.topics{gap:16px}.topic{padding:28px 23px}}
@media(max-width:900px){.wrap{width:calc(100% - 48px)}.header-inner{min-height:112px}.hero-art{width:calc(100% - 48px)}.hero-copy{padding:46px 0 54px;gap:24px}.content-layout{grid-template-columns:1fr}.section{padding:54px 0}.primary-menu ul{background:transparent}.cards{gap:22px}}
@media(max-width:600px){body{font-size:17px}.wrap{width:calc(100% - 40px)}.header-inner{min-height:100px}.brand{gap:15px}.brand-name{font-size:26px}.brand-symbol{width:43px;height:43px;font-size:27px}.brand small{font-size:9px;letter-spacing:3px}.hero{padding-top:20px}.hero-art{width:calc(100% - 40px);height:auto}.hero-copy{padding:35px 0 42px}.hero h1{font-size:31px;line-height:1.7}.hero p{font-size:16px}.hero .eyebrow{letter-spacing:2px;font-size:10px}.hero-copy .button{margin-top:28px}.section{padding:43px 0}.section-heading{padding-bottom:20px;margin-bottom:26px}.section-heading h2{font-size:27px}.topics{gap:12px}.topic{padding:24px 17px}.topic-number{font-size:10px;letter-spacing:.5px;margin-bottom:20px}.topic h3{font-size:19px}.topic span:last-child{font-size:13px}.reading-panel{padding:25px}.entry-content{font-size:17px;line-height:2}.entry-content blockquote{padding:22px;margin:28px 0}.creator-credit{font-size:15px}.card-body{padding:27px}.footer{padding-top:45px}.footer-top{padding-bottom:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.topic:hover,.card:hover,.button:hover{transform:none}}

/* Thai calligraphy and vector kanok ornaments, 1.3.0 */
@font-face{font-family:Charm;src:url("fonts/Charm-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Charm;src:url("fonts/Charm-Bold.ttf") format("truetype");font-style:normal;font-weight:700;font-display:swap}
.brand-name{font-family:Charm,Pridi,serif;font-weight:700;font-size:35px;line-height:1.65;color:#765629}
.footer .brand-name{font-family:Charm,Pridi,serif;font-size:32px;color:#dec493}
.hero h1,.section-heading h2,.entry-title{font-family:Charm,Pridi,serif;font-weight:700;line-height:1.85;letter-spacing:0;position:relative;display:inline-block;padding-inline:57px;max-width:100%;overflow-wrap:anywhere}
.hero h1{font-size:clamp(36px,3.6vw,53px);color:#efdbad;text-shadow:0 1px 0 #98713e30}
.section-heading h2{font-size:37px;color:#70502c}
.entry-title{font-size:42px;color:#70502c}
.hero h1:before,.hero h1:after,.section-heading h2:before,.section-heading h2:after,.entry-title:before,.entry-title:after{content:"";position:absolute;width:46px;height:57px;top:50%;left:0;transform:translateY(-50%);background:url("kanok.svg") center/contain no-repeat;pointer-events:none}
.hero h1:after,.section-heading h2:after,.entry-title:after{left:auto;right:0;transform:translateY(-50%) scaleX(-1)}
.hero h1:before,.hero h1:after{width:50px;height:64px;filter:brightness(1.23)}
.hero-copy>div{min-width:0}
@media(max-width:1000px){.hero h1{font-size:39px}.hero h1,.section-heading h2,.entry-title{padding-inline:43px}.hero h1:before,.hero h1:after,.section-heading h2:before,.section-heading h2:after,.entry-title:before,.entry-title:after{width:35px;height:48px}}
@media(max-width:600px){.brand-name{font-size:29px}.hero h1{font-size:35px;line-height:1.85}.section-heading h2{font-size:30px;line-height:1.8}.entry-title{font-size:32px}.hero h1,.section-heading h2,.entry-title{padding-inline:30px}.hero h1:before,.hero h1:after,.section-heading h2:before,.section-heading h2:after,.entry-title:before,.entry-title:after{width:25px;height:40px}.footer .brand-name{font-size:29px}}
@media(forced-colors:active){.hero h1:before,.hero h1:after,.section-heading h2:before,.section-heading h2:after,.entry-title:before,.entry-title:after{display:none}}

@media(max-width:600px){.hero h1,.section-heading h2,.entry-title{display:block;padding:0 0 29px;text-align:center;overflow-wrap:normal;word-break:normal}.hero h1{font-size:32px}.section-heading h2{font-size:29px}.hero h1:before,.section-heading h2:before,.entry-title:before{top:auto;bottom:0;left:calc(50% - 31px);width:25px;height:27px;transform:none}.hero h1:after,.section-heading h2:after,.entry-title:after{top:auto;bottom:0;right:calc(50% - 31px);width:25px;height:27px;transform:scaleX(-1)}.section-heading>div{width:100%}.hero-copy .eyebrow{text-align:center}}

/* 1.3.1: stable footer columns and aligned article actions. */
.footer-top{display:grid;grid-template-columns:minmax(230px,280px) minmax(0,1fr);align-items:start;gap:56px}
.footer-top>div{min-width:0}
.footer-top .brand-name{display:block;white-space:nowrap;margin-bottom:16px}
.footer-top p{max-width:280px;margin:0;line-height:2}
.footer-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;align-items:start;gap:0 30px;width:100%;min-width:0;margin:0;padding:0;list-style:none}
.footer-menu li{min-width:0;margin:0;border-bottom:1px solid #ffffff12}
.footer-menu a{display:block;padding:11px 0;color:#d9cbb2;font-family:Sarabun,Tahoma,sans-serif;font-size:15px;line-height:1.8;overflow-wrap:anywhere}
.footer-menu a:hover,.footer-menu a:focus-visible{color:#f5dfb1}
.card{display:flex;flex-direction:column}
.card-image{flex:0 0 auto}
.card-body{display:flex;flex-direction:column;flex:1;align-items:flex-start;width:100%}
.card-body h2{width:100%}
.card-body>.text-link{margin-top:auto;align-self:flex-start}
.card-body>p:empty{display:none}
.card-body>p{margin-bottom:24px}
.card-placeholder{font-size:0;background:#eae2d2 url("dharma-wheel.svg") center/48px 48px no-repeat}
.card-placeholder img{display:none}
@media(max-width:1000px){.footer-top{grid-template-columns:240px minmax(0,1fr);gap:32px}.footer-menu{gap:0 22px}}
@media(max-width:700px){.footer-top{grid-template-columns:1fr;gap:30px}.footer-top p{max-width:440px}.footer-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.footer-menu a{font-size:14px}}
@media(max-width:400px){.footer-menu{grid-template-columns:1fr}.footer-top .brand-name{white-space:normal}}

/* 1.3.2: compact, useful masthead. */
.masthead{position:relative;background:#f0e8d8;isolation:isolate}
.masthead:before,.masthead:after{content:"";position:absolute;width:125px;height:110px;top:0;background:url("kanok.svg") center/contain no-repeat;opacity:.1;z-index:-1;pointer-events:none}
.masthead:before{left:18px;transform:rotate(-12deg)}.masthead:after{right:18px;transform:scaleX(-1) rotate(-12deg)}
.header-inner{display:grid;grid-template-columns:minmax(260px,1fr) auto 290px;min-height:112px;gap:36px;padding-block:18px}
.header-note{display:flex;flex-direction:column;align-items:center;text-align:center;color:#746043;font-size:13px;gap:5px}
.header-note:before{content:"ศรัทธา · ปัญญา · ความสงบ";font-size:12px;letter-spacing:2px;color:#8e6c35}
.header-search{min-width:0}.header-search .search-form{gap:0;flex-wrap:nowrap}.header-search .search-field{border-right:0;border-radius:2px 0 0 2px;font-size:14px;background:#fffaf0}.header-search .search-submit{font-size:14px;border-radius:0 2px 2px 0;padding:10px 14px}
.brand-symbol{font-size:0;background:url("dharma-wheel.svg") center/33px 33px no-repeat}.brand-symbol img{display:none}
.nav-inner{min-height:58px}.primary-menu a{padding-block:15px}
@media(max-width:1100px){.header-inner{grid-template-columns:minmax(260px,1fr) 290px;gap:24px}.header-note{display:none}}
@media(max-width:700px){.header-inner{grid-template-columns:1fr;min-height:94px;padding-block:15px}.header-search{display:none}.masthead:before{display:none}.masthead:after{width:85px;height:85px;right:8px}.brand-symbol{background-size:27px}.nav-inner{min-height:54px}}
