:root{
--bg:#FFF9F1;--surface:#FFFFFF;--ink:#221F20;--muted:#5E5957;
--accent:#691226;--accent-hover:#8D2A3B;--gold:#C8A45D;--gold-soft:#F3E6C4;
--sun:#FFD66B;--sun-soft:#FFF3CF;--sky:#7CC6F2;--sky-soft:#E3F3FD;--leaf:#8BCB8F;--leaf-soft:#E6F5E6;--peach:#FFB199;--peach-soft:#FFE9E1;--footer:#2A0B13;
--glass:rgba(255,255,255,.62);--glass-line:rgba(255,255,255,.8);
--shadow:0 22px 50px -24px rgba(105,18,38,.32);--shadow-sm:0 12px 30px -22px rgba(105,18,38,.35);
--r-sm:14px;--r-md:22px;--r-lg:32px;
--font:"Poppins","Noto Sans Thai","Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
:where(body,h1,h2,h3,h4,p,ul,ol,dl,dd,figure){margin:0;padding:0}
:where(ul,ol){list-style:none}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.65;font-size:16px;overflow-x:hidden}\n:lang(th) body,:lang(th){line-height:1.75}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.wrap{width:min(1200px,100% - 48px);margin-inline:auto}
.wrap.narrow{width:min(760px,100% - 48px)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:8px}
.skip{position:absolute;left:-999px;top:8px;background:var(--accent);color:#fff;padding:8px 16px;border-radius:999px;z-index:100}
.skip:focus{left:16px}
.ico{width:1.1em;height:1.1em;flex:none}
h1,h2,h3{font-weight:700;letter-spacing:-.02em;line-height:1.14}

/* Soft colour field behind glass */
.blobs{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.blobs span{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5}
.blobs span:nth-child(1){width:480px;height:480px;background:var(--sun);top:-160px;left:-160px}
.blobs span:nth-child(2){width:540px;height:540px;background:var(--sky);top:35%;right:-220px}
.blobs span:nth-child(3){width:440px;height:440px;background:var(--peach);bottom:-200px;left:22%}

/* Placeholders until real photos are chosen */
[data-ph]{background:var(--sun-soft)}
[data-ph=sun]{background:radial-gradient(circle at 75% 30%,#FFE8A3 0 18%,transparent 19%),radial-gradient(circle at 20% 85%,#FFD66B 0 22%,transparent 23%),linear-gradient(135deg,#FFF3CF,#FFE3B8)}
[data-ph=sky]{background:radial-gradient(circle at 80% 25%,#fff 0 12%,transparent 13%),radial-gradient(circle at 25% 80%,#BFE4FA 0 25%,transparent 26%),linear-gradient(135deg,#E3F3FD,#CDEBFB)}
[data-ph=leaf]{background:radial-gradient(circle at 70% 70%,#BFE3C1 0 24%,transparent 25%),radial-gradient(circle at 20% 25%,#fff 0 10%,transparent 11%),linear-gradient(135deg,#E6F5E6,#D3EDD4)}
[data-ph=peach]{background:radial-gradient(circle at 30% 30%,#FFD2C2 0 22%,transparent 23%),radial-gradient(circle at 80% 80%,#FFF3CF 0 20%,transparent 21%),linear-gradient(135deg,#FFE9E1,#FFD9CB)}
[data-ph=hero]{background:radial-gradient(circle at 78% 28%,rgba(255,214,107,.9) 0 11%,transparent 11.5%),radial-gradient(circle at 88% 78%,rgba(124,198,242,.55) 0 16%,transparent 16.5%),radial-gradient(circle at 60% 95%,rgba(139,203,143,.6) 0 14%,transparent 14.5%),linear-gradient(120deg,#8D2A3B 0%,#B65A5A 45%,#F2B48E 100%)}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.5em;padding:.8em 1.45em;border-radius:999px;font-weight:700;font-size:.98rem;line-height:1.2;border:1px solid transparent;transition:transform .2s,background-color .2s,box-shadow .2s;white-space:nowrap;cursor:pointer}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 10px 24px -12px rgba(105,18,38,.75)}
.btn-primary:hover{background:var(--accent-hover)}
.btn-light{background:#fff;color:var(--accent)}
.btn-ghost{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.7)}
.btn-ghost:hover{background:rgba(255,255,255,.26)}
.btn-glass{background:rgba(255,255,255,.72);color:var(--accent);border-color:var(--glass-line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}

/* Utility bar */
.utility{font-size:.84rem;color:var(--muted)}
.utility .wrap{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0}
.utility nav{display:flex;gap:20px;flex-wrap:wrap}
.utility nav a:hover{color:var(--accent)}
.lang{display:flex;gap:2px;background:rgba(255,255,255,.75);border-radius:999px;padding:3px}
.lang a{padding:3px 11px;border-radius:999px}
.lang a[aria-current]{background:var(--accent);color:#fff}

/* Header */
.site-header{position:sticky;top:10px;z-index:50;margin-top:2px}
.nav{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 10px 8px 16px;border-radius:999px;background:rgba(255,255,255,.7);border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);box-shadow:var(--shadow)}
.brand{display:flex;align-items:center;gap:10px;color:var(--accent);flex:none}
.brand img,.brand-logo{height:48px;width:auto}
.brand-mark{width:40px;height:40px;border-radius:50%;background:var(--accent);color:var(--gold-soft);display:grid;place-items:center;font-weight:800;font-size:1.2rem}
.brand-name{font-weight:800;font-size:1.08rem;line-height:1.05}
.brand-name small{display:block;font-weight:600;font-size:.7rem;color:var(--muted);letter-spacing:.02em}
.nav .menu{display:flex;gap:2px}
.nav .menu a{display:block;padding:.55em .95em;border-radius:999px;font-weight:600;font-size:.94rem;color:#3b3536}
.nav .menu a:hover,.nav .menu .current-menu-item a{background:var(--gold-soft);color:var(--accent)}
.nav-actions{display:flex;align-items:center;gap:8px}
.menu-toggle{display:none;border:0;background:var(--gold-soft);color:var(--accent);width:44px;height:44px;border-radius:50%;cursor:pointer;place-items:center;font-size:1.2rem}

/* Hero */
.hero{padding:22px 0 0}
.hero-frame{position:relative;border-radius:var(--r-lg);overflow:hidden;min-height:min(640px,78vh);display:flex;align-items:flex-end;padding:40px 40px 96px;background-size:cover;background-position:center;box-shadow:var(--shadow)}
.hero-frame::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(80,10,28,.5) 0%,rgba(80,10,28,.12) 48%,transparent 72%)}
.hero-card{position:relative;max-width:580px;padding:38px;border-radius:28px;color:#fff;background:linear-gradient(160deg,rgba(105,18,38,.46),rgba(105,18,38,.2));border:1px solid rgba(255,255,255,.5);-webkit-backdrop-filter:blur(22px) saturate(1.5);backdrop-filter:blur(22px) saturate(1.5);box-shadow:0 30px 60px -28px rgba(40,0,12,.6),inset 0 1px 0 rgba(255,255,255,.45)}
.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-hover)}
.hero .eyebrow{color:#FFE9C2}
.hero h1{font-size:clamp(2.1rem,4.3vw,3.35rem);line-height:1.1;margin:14px 0;font-weight:800}
.hero h1 em{font-style:normal;color:var(--sun)}
.hero .lead{font-size:1.08rem;max-width:44ch;opacity:.97}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.hero-next{position:absolute;right:32px;bottom:96px;width:280px;padding:18px 20px;border-radius:var(--r-md);background:rgba(255,255,255,.82);border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow);transition:transform .25s}
.hero-next:hover{transform:translateY(-4px)}
.hero-next .k{display:block;font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-hover)}
.hero-next strong{display:block;font-size:1.08rem;line-height:1.3;margin:4px 0 2px}
.hero-next .m{display:block;font-size:.88rem;color:var(--muted)}
.hero-next .go{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-weight:700;font-size:.9rem;color:var(--accent)}
.quick{position:relative;z-index:3;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:-64px 24px 0}
.quick a{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:var(--r-md);background:var(--glass);border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow);font-weight:700;transition:transform .2s}
.quick a:hover{transform:translateY(-4px)}
.quick small{display:block;font-weight:500;font-size:.82rem;color:var(--muted)}
.qi{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--accent);font-size:1.2rem;flex:none}
.t-sun{background:var(--sun-soft)}.t-sky{background:var(--sky-soft)}.t-leaf{background:var(--leaf-soft)}.t-peach{background:var(--peach-soft)}.t-gold{background:var(--gold-soft)}

/* Sections */
section{padding:88px 0 0}
.head{max-width:640px;margin-bottom:40px}
.head h2,.admit h2,.promise h2{font-size:clamp(1.8rem,3.3vw,2.6rem)}
.head p{color:var(--muted);margin-top:14px;font-size:1.05rem;max-width:60ch}

/* Divisions: one large, two stacked */
.divisions{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:1fr 1fr;gap:24px}
.div-card{display:grid;grid-template-rows:auto 1fr;border-radius:var(--r-lg);padding:12px;box-shadow:var(--shadow-sm);transition:transform .25s}
.div-card:hover{transform:translateY(-5px)}
.div-card.big{grid-row:span 2}
.div-card:not(.big){grid-template-columns:44% 1fr;grid-template-rows:1fr;gap:6px}
.div-card .img{border-radius:22px;background-size:cover;background-position:center;min-height:190px}
.div-card.big .img{min-height:360px}
.div-card .body{padding:20px 14px 12px}
.div-card h3{font-size:1.45rem}
.div-card.big h3{font-size:1.9rem}
.div-card p{color:var(--muted);margin:8px 0 14px}
.more{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--accent)}

/* Promise band */
.promise{position:relative;overflow:hidden;border-radius:var(--r-lg);padding:60px 56px;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-hover))}
.promise::before{content:"";position:absolute;width:340px;height:340px;right:-90px;top:-120px;border-radius:50%;background:rgba(200,164,93,.35);filter:blur(8px)}
.promise h2{position:relative;color:#fff}
.pillars{position:relative;display:grid;grid-template-columns:repeat(3,1fr);margin-top:36px;border-top:1px solid rgba(255,255,255,.25)}
.pillars div{padding:26px 28px 0 0}
.pillars div+div{padding-left:28px;border-left:1px solid rgba(255,255,255,.25)}
.pillars h3{font-size:1.5rem;color:var(--gold-soft)}
.pillars p{opacity:.9;margin-top:6px}

/* A day at Crestview */
.day{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.day li{padding:22px 18px;border-radius:var(--r-md);box-shadow:var(--shadow-sm)}
.day .emo{font-size:1.7rem;display:block}
.day .t{display:block;margin-top:8px;font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-hover)}
.day h3{font-size:1.08rem;margin:4px 0}
.day p{font-size:.92rem;color:var(--muted)}

/* Stories and events */
.split{display:grid;grid-template-columns:1.65fr 1fr;gap:28px;align-items:start}
.stories{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}
.story{display:block;border-radius:var(--r-md);overflow:hidden;background:var(--surface);box-shadow:var(--shadow-sm);transition:transform .25s}
.story:hover{transform:translateY(-4px)}
.story .img{height:160px;background-size:cover;background-position:center}
.story.lead{grid-row:span 2;display:flex;flex-direction:column}
.story.lead .img{flex:1;height:auto;min-height:300px}
.story .body{padding:16px 20px 20px}
.meta{display:block;font-size:.8rem;font-weight:700;color:var(--accent-hover)}
.story h3{font-size:1.1rem;line-height:1.3;margin-top:6px}
.story.lead h3{font-size:1.4rem}
.events{padding:24px;border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow)}
.events h3{font-size:1.25rem;margin-bottom:14px}
.event{display:flex;gap:14px;align-items:center;padding:12px;border-radius:var(--r-sm);transition:background-color .2s}
.event:hover{background:var(--sun-soft)}
.event strong{display:block;line-height:1.3}
.event .m{display:block;font-size:.86rem;color:var(--muted)}
.date{flex:none;width:58px;height:62px;border-radius:14px;background:var(--accent);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.05}
.date b{font-size:1.4rem}
.date small{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-soft)}
.link{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding-left:12px;font-weight:700;color:var(--accent)}
.empty{color:var(--muted);padding:12px}

/* Gallery */
.mosaic{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:210px 210px;gap:14px}
.mosaic div{border-radius:var(--r-md);background-size:cover;background-position:center}
.mosaic div:first-child{grid-row:span 2}
.mosaic div:last-child{grid-column:span 2}
.gallery-cap{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:18px}
.gallery-cap p{color:var(--muted);font-weight:600}

/* Admissions */
.admit-wrap{padding-bottom:88px}
.admit{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center;padding:56px;border-radius:var(--r-lg);background:linear-gradient(135deg,var(--sun-soft),var(--peach-soft) 55%,var(--sky-soft))}
.admit h2{margin-top:10px}
.admit .sub{color:var(--muted);margin-top:14px;font-size:1.05rem;max-width:44ch}
.steps{display:grid;gap:14px}
.steps li{display:flex;gap:16px;align-items:center;padding:18px 20px;border-radius:var(--r-md);background:rgba(255,255,255,.72);border:1px solid var(--glass-line)}
.steps .n{flex:none;width:44px;height:44px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:800}
.steps strong{display:block}
.steps li span:last-child{color:var(--muted);font-size:.93rem}
.steps li strong{color:var(--ink);font-size:1rem}

/* Inner pages */
.page-head{padding:64px 0 8px}
.page-head h1{font-size:clamp(2rem,4vw,3rem);max-width:22ch}
.page-head p{color:var(--muted);margin-top:12px;font-size:1.08rem;max-width:60ch}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.filters a{padding:.45em 1em;border-radius:999px;background:var(--surface);font-weight:600;font-size:.92rem;box-shadow:var(--shadow-sm)}
.filters a[aria-current]{background:var(--accent);color:#fff}
.listing{padding:40px 0 88px}
.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.card{display:block;border-radius:var(--r-md);overflow:hidden;background:var(--surface);box-shadow:var(--shadow-sm);transition:transform .25s}
.card:hover{transform:translateY(-4px)}
.card .img{height:200px;background-size:cover;background-position:center}
.card .body{padding:18px 20px 22px}
.card h2{font-size:1.2rem;line-height:1.3;margin:6px 0 8px}
.card p{color:var(--muted);font-size:.95rem}
.pager{margin-top:36px}
.pager .nav-links{display:flex;gap:8px;flex-wrap:wrap}
.pager .page-numbers{padding:.45em .95em;border-radius:999px;background:var(--surface);font-weight:600}
.pager .current{background:var(--accent);color:#fff}
.month{font-size:1.4rem;margin:32px 0 12px}
.event-list{background:var(--surface);border-radius:var(--r-md);padding:8px;box-shadow:var(--shadow-sm)}
.single{padding:56px 0 88px}
.back{display:inline-block;margin-bottom:20px;font-weight:700;color:var(--accent)}
.single h1{font-size:clamp(2rem,4vw,2.9rem);margin-top:8px}
.event-facts{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.event-facts div{padding:10px 16px;border-radius:var(--r-sm);background:var(--surface);box-shadow:var(--shadow-sm)}
.event-facts dt{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-hover)}
.feature{margin:32px 0}
.feature img{width:100%;border-radius:var(--r-lg);max-height:560px;object-fit:cover}
.prose{margin-top:28px;font-size:1.08rem}
.prose>*+*{margin-top:1.1em}
.prose h2{font-size:1.6rem;margin-top:1.6em}
.prose h3{font-size:1.25rem;margin-top:1.4em}
.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.prose ul{list-style:disc;padding-left:1.3em}
.prose ol{list-style:decimal;padding-left:1.3em}
.prose img{border-radius:var(--r-md)}
.prose .wp-block-gallery{gap:12px}
.page-body{padding-bottom:88px}

/* Footer */
.site-footer{background:var(--footer);color:#F3E7E2;padding:64px 0 28px;border-radius:40px 40px 0 0}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:30px}
.site-footer h2{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.site-footer ul{display:grid;gap:7px;font-size:.94rem}
.site-footer a:hover{color:var(--gold)}
.f-brand{font-weight:800;font-size:1.15rem}
.f-note{opacity:.8;margin-top:8px;max-width:30ch}
.f-motto{margin-top:14px;color:var(--gold);font-weight:700}
.fbottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:44px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);font-size:.84rem;opacity:.78}

/* Gentle reveal, only when JavaScript runs */
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.js .reveal.in{opacity:1;transform:none}

/* Tablet */
@media (max-width:1060px){
.menu-toggle{display:grid}
.nav-menu{display:none;position:absolute;top:calc(100% + 10px);left:0;right:0;padding:12px;border-radius:24px;background:rgba(255,255,255,.97);box-shadow:var(--shadow)}
.nav-menu.open{display:block}
.nav .menu{flex-direction:column}
.nav .menu a{padding:.8em 1em;font-size:1rem}
.quick{grid-template-columns:repeat(2,1fr)}
.divisions{grid-template-columns:1fr;grid-template-rows:none}
.div-card.big{grid-row:auto}
.day{grid-template-columns:repeat(2,1fr)}
.day li:last-child{grid-column:span 2}
.split,.admit{grid-template-columns:1fr}
.fgrid{grid-template-columns:1fr 1fr}
.hero-next{bottom:auto;top:28px}
}
/* Phone */
@media (max-width:640px){
body{font-size:16px}
.wrap,.wrap.narrow{width:calc(100% - 32px)}
.utility nav{display:none}
.utility .wrap{justify-content:flex-end}
.brand-name small{display:none}
.hero-frame{flex-direction:column;align-items:stretch;min-height:0;padding:220px 12px 12px}
.hero-card{padding:26px 22px}
.hero-next{position:relative;top:auto;right:auto;width:auto;margin-top:12px}
.quick{margin:16px 0 0;grid-template-columns:1fr 1fr;gap:10px}
.quick a{flex-direction:column;align-items:flex-start;gap:8px;padding:14px}
.div-card:not(.big){grid-template-columns:1fr;grid-template-rows:auto 1fr}
.div-card.big .img{min-height:220px}
.promise,.admit{padding:36px 22px}
.pillars{grid-template-columns:1fr}
.pillars div,.pillars div+div{padding:20px 0 0;border-left:0}
.day{grid-template-columns:1fr;gap:10px}
.day li:last-child{grid-column:auto}
.day li{display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:start;padding:16px 18px}
.day .emo{grid-row:span 3;font-size:1.5rem}
.day .t{margin-top:0}
.stories{grid-template-columns:1fr}
.story.lead{grid-row:auto}
.story.lead .img{height:210px}
.mosaic{grid-template-columns:1fr 1fr;grid-template-rows:170px 130px 130px}
.mosaic div:first-child{grid-column:span 2;grid-row:auto}
.fgrid{grid-template-columns:1fr}
section{padding-top:64px}
.admit-wrap{padding-bottom:64px}
}
@media (prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
*{transition:none!important;animation:none!important}
.js .reveal{opacity:1;transform:none}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
.nav,.quick a{background:rgba(255,255,255,.95)}
.hero-card{background:rgba(105,18,38,.82)}
}/* ===== Calendar ===== */
.btn-soft{background:var(--gold-soft);color:var(--accent)}
.btn-soft:hover{background:#EEDCAD}
.chip{border:0;background:var(--surface);color:var(--ink);font:inherit;font-weight:600;font-size:.9rem;padding:.5em 1.05em;border-radius:999px;cursor:pointer;box-shadow:var(--shadow-sm)}
.chip:hover{color:var(--accent)}
.icon-btn{width:42px;height:42px;border-radius:50%;border:0;background:var(--surface);color:var(--accent);font-size:1.6rem;line-height:1;cursor:pointer;box-shadow:var(--shadow-sm);display:grid;place-items:center;padding-bottom:3px}
.icon-btn:hover{background:var(--gold-soft)}
.seg{display:inline-flex;background:var(--surface);border-radius:999px;padding:4px;box-shadow:var(--shadow-sm)}
.seg button{border:0;background:none;font:inherit;font-weight:600;font-size:.92rem;padding:.5em 1.15em;border-radius:999px;cursor:pointer;color:var(--muted)}
.seg button[aria-pressed=true]{background:var(--accent);color:#fff}
.seg.small button{font-size:.86rem;padding:.42em 1em}
.cal-head{padding-bottom:0}
.cal-wrap{padding:28px 0 88px}
.cal-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}
.cal-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.cal-nav{display:flex;align-items:center;gap:10px}
.cal-title{font-size:1.5rem;min-width:9.5em;text-align:center}
.cal-filters{margin:16px 0}
.cal{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:14px;overflow:hidden}
.grid .row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.grid .dow div{padding:8px 6px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);text-align:center}
.cell{min-height:124px;border-top:1px solid #F1E7DC;border-left:1px solid #F1E7DC;padding:6px;display:flex;flex-direction:column;gap:4px;min-width:0}
.row .cell:first-child{border-left:0}
.cell.wknd{background:#FFF8EE}
.cell.empty{background:#FCF6EF}
.dnum{align-self:flex-start;border:0;background:none;font:inherit;font-weight:700;font-size:.9rem;width:30px;height:30px;border-radius:50%;cursor:pointer;color:var(--ink)}
.cell.has .dnum:hover{background:var(--gold-soft)}
.cell.today .dnum{background:var(--accent);color:#fff}
.evs{display:flex;flex-direction:column;gap:3px;min-width:0}
.pill{display:block;width:100%;text-align:left;border:0;cursor:pointer;font:inherit;font-size:.72rem;font-weight:600;line-height:1.28;padding:4px 7px;border-radius:7px;color:#fff;background:var(--c);white-space:normal;overflow-wrap:break-word;word-break:normal;hyphens:auto}
.pill span{display:block;overflow:hidden;text-overflow:ellipsis}
.pill:hover{filter:brightness(1.08)}
.more{border:0;background:none;font:inherit;font-size:.74rem;font-weight:700;color:var(--accent);cursor:pointer;text-align:left;padding:0 4px}
.dots{display:none;gap:3px;justify-content:center;flex-wrap:wrap}
.dots i{width:7px;height:7px;border-radius:50%}
.day-panel h3{font-size:1.1rem;margin:18px 6px 8px}
.list-view{padding:6px 8px}
.list-view .month{margin:22px 0 8px;font-size:1.2rem}
.list-view .month:first-of-type{margin-top:8px}
.past-btn{margin:4px 0 6px}
.lgroup{display:grid;gap:4px}
.lrow{display:flex;align-items:center;gap:14px;padding:10px;border-radius:var(--r-sm)}
.lrow:hover{background:#FFF8EE}
.lrow .date{width:52px;height:56px;border-radius:12px}
.lmain{flex:1;min-width:0;text-align:left;border:0;background:none;font:inherit;cursor:pointer;color:var(--ink)}
.lmain strong{display:block;line-height:1.3}
.lmain .m{display:block;font-size:.84rem;color:var(--muted)}
.ladd{display:flex;gap:6px;flex:none}
.ladd a{font-size:.8rem;font-weight:700;color:var(--accent);background:var(--gold-soft);padding:.4em .8em;border-radius:999px;white-space:nowrap}
.cal-side{display:grid;gap:18px;position:sticky;top:96px}
.side-card{background:var(--surface);border-radius:var(--r-md);padding:22px;box-shadow:var(--shadow-sm)}
.side-card h2{font-size:1.1rem;line-height:1.3}
.side-card p{color:var(--muted);font-size:.92rem;margin-top:6px}
.sub-btns{display:grid;gap:8px;margin-top:14px}
.sub-btns .btn{justify-content:center}
.copy-link{margin-top:10px;border:0;background:none;font:inherit;font-weight:600;font-size:.86rem;color:var(--accent);text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:4px 0}
.dl-list{display:grid;gap:8px;margin-top:12px}
.dl-list a{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--r-sm);background:#FFF8EE;font-weight:600}
.dl-list a:hover{background:var(--gold-soft);color:var(--accent)}
.dl-ico{width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:.9rem}
.admin-note{background:var(--sun-soft);padding:10px 12px;border-radius:10px}
.admin-note a{color:var(--accent);text-decoration:underline}
.legend{display:grid;gap:4px;margin-top:10px}
.legend button{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;font:inherit;font-size:.88rem;text-align:left;padding:6px 8px;border-radius:10px;cursor:pointer;color:var(--ink)}
.legend button:hover{background:#FFF8EE}
.legend button[aria-pressed=false]{opacity:.4;text-decoration:line-through}
.sw{width:14px;height:14px;border-radius:4px;flex:none}
.hint{font-size:.82rem!important}
.ev-dialog{border:0;border-radius:var(--r-lg);padding:0;max-width:min(480px,calc(100% - 32px));width:100%;box-shadow:0 40px 80px -30px rgba(40,0,12,.55);color:var(--ink)}
.ev-dialog::backdrop{background:rgba(42,11,19,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.evd{padding:30px 28px 26px;position:relative}
.evd-close{position:absolute;right:14px;top:12px;width:40px;height:40px;border-radius:50%;border:0;background:#FFF3E6;font-size:1.5rem;cursor:pointer;color:var(--accent)}
.evd-type,.type-pill{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700;color:var(--ink)}
.evd-type::before,.type-pill::before{content:"";width:10px;height:10px;border-radius:3px;background:var(--c)}
.evd h2{font-size:1.45rem;margin:8px 40px 6px 0}
.evd-when{font-weight:600}
.evd-meta,.evd-desc{color:var(--muted);font-size:.94rem;margin-top:4px}
.evd-add-label{margin-top:18px;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-hover)}
.evd-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.add-cal{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:20px}
.add-cal span{font-weight:600;color:var(--muted)}
@media (max-width:1060px){
.cal-layout{grid-template-columns:1fr}
.cal-side{position:static;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
}
@media (max-width:640px){
.cal{padding:6px;border-radius:var(--r-md)}
.cal-title{font-size:1.15rem;min-width:7.5em}
.cal-toolbar{flex-direction:column;align-items:stretch}
.cal-nav{justify-content:space-between}
.seg{justify-content:center}
.cell{min-height:58px;padding:4px 2px;align-items:center}
.dnum{align-self:center;width:32px;height:32px}
.evs{display:none}
.dots{display:flex}
.grid .dow div{font-size:.66rem;letter-spacing:.02em;padding:6px 0}
.lrow{flex-wrap:wrap;gap:10px}
.ladd{width:100%;padding-left:66px}
.cal-side{grid-template-columns:1fr}
}
/* ===== End calendar ===== */

/* ===== Share a story ===== */
.story-wrap{padding:24px 0 88px}
.form-card{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:30px;margin-bottom:22px}
.form-card h2{font-size:1.25rem;margin-bottom:8px}
.story-form{display:grid;gap:18px}
.story-form label,.form-card form p label{display:grid;gap:6px;font-weight:600;font-size:.95rem}
.story-form input[type=text],.story-form input[type=url],.story-form select,.story-form textarea,.form-card input[type=text],.form-card input[type=password]{font:inherit;font-weight:400;padding:.75em .9em;border:1.5px solid #E8DCCF;border-radius:12px;background:#FFFDF9;color:var(--ink);width:100%}
.story-form input:focus,.story-form select:focus,.story-form textarea:focus,.form-card input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(105,18,38,.12)}
.story-form input[type=file]{font:inherit;font-weight:400;padding:14px;border:1.5px dashed #D9C6B3;border-radius:12px;background:#FFF8EE}
.story-form .two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.opt{font-weight:400;color:var(--muted);font-size:.86rem}
.story-form .check{display:flex;gap:10px;align-items:flex-start;font-weight:500;background:var(--sun-soft);padding:14px;border-radius:12px}
.story-form .check input{margin-top:5px;width:18px;height:18px;accent-color:var(--accent)}
.form-actions{display:flex;gap:10px;flex-wrap:wrap}
.small{font-size:.86rem;color:var(--muted)}
.hello{font-weight:600;color:var(--accent)}
.notice-box{padding:14px 18px;border-radius:14px;margin-bottom:18px;font-weight:600}
.notice-box.ok{background:var(--leaf-soft);color:#1F5E32}
.notice-box.err{background:var(--peach-soft);color:#8B2A12}
.my-stories{display:grid;gap:8px}
.my-stories a{color:var(--accent);text-decoration:underline}
.st{display:inline-block;font-size:.76rem;font-weight:700;padding:.25em .7em;border-radius:999px;margin-right:6px}
.st-pending{background:var(--sun-soft);color:#7A5A00}.st-publish{background:var(--leaf-soft);color:#1F5E32}.st-draft{background:var(--peach-soft);color:#8B2A12}
.form-card #wp-submit{font:inherit;font-weight:700;background:var(--accent);color:#fff;border:0;border-radius:999px;padding:.8em 1.6em;cursor:pointer}
.form-card .login-remember label{display:flex;gap:8px;font-weight:500}
@media (max-width:640px){.form-card{padding:22px}.story-form .two{grid-template-columns:1fr}}
/* ===== End share a story ===== */

.f-logo{height:64px;width:auto;margin-bottom:12px}

#loginform{display:grid;gap:14px;margin-top:14px}
#loginform p{margin:0}

/* ===== Calendar v2 ===== */
.cal-toolbar{margin-bottom:14px}
.seg.views button{font-size:.98rem;padding:.6em 1.5em}
.cal-bar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.cal-nav.is-hidden{display:none}
.cal-filters{display:none}
.pill[style*="#E2AE12"]{color:#3a2a00}
.year-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;padding:8px}
.mini h3{margin:0 0 6px}
.mini h3 button{border:0;background:var(--accent);color:#fff;font:inherit;font-weight:700;font-size:.86rem;width:100%;text-align:left;padding:6px 10px;border-radius:10px;cursor:pointer}
.mini h3 button:hover{background:var(--accent-hover)}
.mgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center;font-size:.76rem}
.mgrid .mh{font-weight:700;color:var(--muted);font-size:.66rem;padding:2px 0}
.md{display:grid;place-items:center;aspect-ratio:1;border-radius:6px;font:inherit;font-size:.76rem;border:0;background:none;color:var(--ink);padding:0}
.md.wknd{background:#FFF3E3}
.md.has{background:var(--c);color:#fff;font-weight:700;cursor:pointer}
.md.has[style*="#E2AE12"]{color:#3a2a00}
.md.today{outline:2px solid var(--ink);outline-offset:1px}
.md.has:hover{filter:brightness(1.1)}
.day-panel{padding:0 6px}
.day-panel:empty{display:none}
.add-day{margin:10px 0 6px}
.lgroup li{list-style:none}
.lrow{display:flex;align-items:center;gap:14px;padding:10px;border-radius:var(--r-sm);width:100%;border:0;background:none;font:inherit;text-align:left;cursor:pointer;color:var(--ink)}
.lrow:hover{background:#FFF8EE}
.lrow .date{width:52px;height:56px;border-radius:12px;flex:none}
.lrow .date[style*="#E2AE12"]{color:#3a2a00}
.lrow .lmain{flex:1;min-width:0}
.lrow .go{font-size:1.5rem;color:var(--muted)}
.evd-admin{display:flex;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid #F1E7DC}
.chip.danger{color:#A11A1A}
.staff-login{text-align:center;font-size:.86rem}
.staff-login a{color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.ev-form{display:grid;gap:12px}
.ev-form h2{margin:0 40px 4px 0}
.ev-form label{display:grid;gap:5px;font-weight:600;font-size:.9rem}
.ev-form input,.ev-form select,.ev-form textarea{font:inherit;font-weight:400;padding:.6em .8em;border:1.5px solid #E8DCCF;border-radius:10px;background:#FFFDF9;color:var(--ink);width:100%}
.ev-form input:focus,.ev-form select:focus,.ev-form textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(105,18,38,.12)}
.ev-form .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ev-form-dialog{max-width:min(620px,calc(100% - 24px))}
.tr-fields summary{cursor:pointer;font-weight:600;font-size:.9rem;color:var(--accent)}
.tr-fields label{margin-top:10px}
.form-msg{color:#A11A1A;font-weight:600;font-size:.9rem;min-height:1em}
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:12px 22px;border-radius:999px;font-weight:600;z-index:200;box-shadow:var(--shadow)}
@media (max-width:1060px){.year-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){
.year-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:6px}
.seg.views{width:100%}.seg.views button{flex:1;padding:.6em .5em}
.cal-toolbar{flex-direction:row;flex-wrap:wrap}
.add-ev{width:100%;justify-content:center}
.cal-bar{flex-direction:column;align-items:stretch}
.cal-bar .seg{justify-content:center}
.ev-form .two{grid-template-columns:1fr}
}
@media (min-width:641px) and (max-width:900px){.pill{font-size:.66rem;padding:3px 5px}}
/* ===== End calendar v2 ===== */

/* ===== Slideshow ===== */
.hero-slides .quick{margin-top:18px}
.hs{position:relative}
.hs-viewport{position:relative;overflow:hidden;border-radius:var(--r-lg);box-shadow:var(--shadow);touch-action:pan-y}
.hs-track{position:relative}
.hs-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility 0s linear .9s}
.hs-slide.is-active{position:relative;opacity:1;visibility:visible;transition:opacity .9s ease}
.hs-img{position:absolute;inset:0;background-size:cover;background-position:center 30%}
.hs-title{font-weight:800;letter-spacing:-.02em;line-height:1.12}
.hs-title a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.hs-title em{font-style:normal;color:var(--sun)}
.hs-meta{font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.hs-text{margin-top:12px;max-width:52ch;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.hs-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.hs-controls{display:flex;align-items:center;gap:10px;margin-top:14px}
.hs-btn{flex:none;width:42px;height:42px;border-radius:50%;border:0;background:var(--surface);color:var(--accent);font-size:1.5rem;line-height:1;cursor:pointer;box-shadow:var(--shadow-sm);display:grid;place-items:center}
.hs-btn:hover{background:var(--gold-soft)}
.hs-pause{font-size:.72rem;letter-spacing:-.1em}
.hs-pause .i-play,.hs-pause.show-play .i-pause{display:none}
.hs-pause.show-play .i-play{display:inline}
.hs-tabs{flex:1;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px}
.hs-tabs::-webkit-scrollbar{display:none}
.hs-tab{flex:1 0 150px;max-width:240px;border:0;background:rgba(255,255,255,.7);border-radius:14px;padding:9px 12px 10px;text-align:left;font:inherit;font-size:.8rem;font-weight:600;line-height:1.3;color:var(--muted);cursor:pointer;display:flex;flex-direction:column;gap:8px}
.hs-tab:hover{color:var(--ink);background:#fff}
.hs-tab.is-active{background:#fff;color:var(--ink);box-shadow:var(--shadow-sm)}
.hs-tab-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hs-bar{display:block;height:3px;border-radius:3px;background:#EFE2D4;overflow:hidden}
.hs-bar i{display:block;height:100%;width:0;background:var(--accent)}
.hs-tab.is-active .hs-bar i{animation:hsfill var(--dur,7000ms) linear forwards}
.hs.is-paused .hs-tab.is-active .hs-bar i{animation-play-state:paused}
.hs.no-auto .hs-tab.is-active .hs-bar i{animation:none;width:100%}
@keyframes hsfill{to{width:100%}}
@keyframes hszoom{from{transform:scale(1)}to{transform:scale(1.07)}}

/* A. Glass spotlight */
.hs-a .hs-slide{min-height:min(620px,76vh);display:flex;align-items:flex-end;padding:40px}
.hs-a .hs-img{transform-origin:70% 40%}
.hs-a .is-active .hs-img{animation:hszoom 9s ease-out forwards}
.hs-a .hs-slide::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(95deg,rgba(60,6,20,.62) 0%,rgba(60,6,20,.22) 50%,rgba(0,0,0,0) 75%),linear-gradient(0deg,rgba(40,4,14,.35),transparent 45%)}
.hs-a .hs-body{position:relative;z-index:2;max-width:600px;padding:34px 36px;border-radius:28px;color:#fff;background:linear-gradient(160deg,rgba(105,18,38,.5),rgba(105,18,38,.22));border:1px solid rgba(255,255,255,.5);-webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);box-shadow:0 30px 60px -28px rgba(40,0,12,.6),inset 0 1px 0 rgba(255,255,255,.4)}
.hs-a .hs-meta{color:#FFE9C2}
.hs-a .hs-title{font-size:clamp(1.7rem,3.3vw,2.6rem);margin-top:10px}
.hs-a .is-welcome .hs-title{font-size:clamp(2.1rem,4.3vw,3.35rem)}
.hs-a .hs-text{opacity:.96}

/* B. Split story */
.hs-b .hs-viewport{background:linear-gradient(135deg,var(--accent),#8D2A3B)}
.hs-b .hs-slide{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);min-height:min(540px,70vh)}
.hs-b .hs-img{position:relative;inset:auto;order:2;margin:14px;border-radius:24px}
.hs-b .hs-body{position:relative;padding:48px 44px;color:#fff;display:flex;flex-direction:column;justify-content:center}
.hs-b .hs-body::before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;left:-90px;bottom:-110px;background:rgba(200,164,93,.25);filter:blur(4px)}
.hs-b .hs-meta{color:var(--gold)}
.hs-b .hs-title{font-size:clamp(1.6rem,2.8vw,2.3rem);margin-top:12px}
.hs-b .is-welcome .hs-title{font-size:clamp(2rem,3.8vw,3rem)}
.hs-b .hs-text{opacity:.92}
.hs-b .btn-ghost{border-color:rgba(255,255,255,.6)}

/* C. Story cards */
.hs-c .hs-viewport{overflow:hidden;box-shadow:none;border-radius:0;padding:10px 0 26px}
.hs-c .hs-track{display:flex;gap:22px;transition:transform .7s cubic-bezier(.2,.7,.2,1);will-change:transform}
.hs-c .hs-slide{position:relative;inset:auto;opacity:.55;visibility:visible;flex:0 0 min(760px,70%);transform:scale(.93);transition:transform .7s ease,opacity .7s ease;background:var(--surface);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);display:grid;grid-template-columns:1.1fr 1fr;min-height:400px;cursor:pointer}
.hs-c .hs-slide.is-active{opacity:1;transform:none;cursor:default}
.hs-c .hs-img{position:relative;inset:auto;min-height:260px}
.hs-c .hs-body{padding:34px 32px;display:flex;flex-direction:column;justify-content:center}
.hs-c .hs-meta{color:var(--accent-hover)}
.hs-c .hs-title{font-size:clamp(1.4rem,2.3vw,1.95rem);margin-top:10px;color:var(--ink)}
.hs-c .hs-title em{color:var(--accent)}
.hs-c .hs-text{color:var(--muted)}
.hs-c .btn-light{background:var(--accent);color:#fff}
.hs-c .btn-ghost{background:var(--gold-soft);color:var(--accent);border-color:transparent}
.hs-c .hs-controls{margin-top:0}

@media (max-width:900px){
.hs-b .hs-slide{grid-template-columns:1fr}
.hs-b .hs-img{order:0;min-height:260px;margin:12px 12px 0}
.hs-b .hs-body{padding:28px 26px 34px}
.hs-c .hs-slide{grid-template-columns:1fr;flex-basis:84%}
.hs-c .hs-img{min-height:220px}
}
@media (max-width:640px){
.hs-a .hs-slide{min-height:0;padding:210px 12px 12px}
.hs-a .hs-body{padding:24px 22px}
.hs-tab{flex:0 0 26px;min-width:26px;padding:10px 0;background:none;box-shadow:none!important}
.hs-tab-text{display:none}\n.hs-tab.is-active,.hs-tab:hover{background:none}\n.hs-text{-webkit-line-clamp:4}
.hs-tabs{justify-content:center;gap:6px}
.hs-c .hs-slide{flex-basis:88%}
.hs-c .hs-body{padding:22px}
}
@media (prefers-reduced-motion:reduce){.hs-a .is-active .hs-img{animation:none}.hs-c .hs-track,.hs-c .hs-slide{transition:none}}
/* ===== End slideshow ===== */

/* ===== Cookies and chat ===== */
.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;z-index:150;max-width:760px;margin:0 auto;display:flex;align-items:center;gap:18px;padding:18px 20px;border-radius:22px;background:rgba(255,255,255,.94);border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 24px 60px -24px rgba(40,0,12,.45)}
.cookie-bar[hidden]{display:none}
.cookie-bar p{font-size:.9rem;color:var(--ink);line-height:1.5}
.cookie-bar a{color:var(--accent);text-decoration:underline;font-weight:600}
.cookie-actions{display:flex;gap:8px;flex:none}
.cookie-actions .btn{padding:.65em 1.1em;font-size:.88rem}
.chat{position:fixed;right:20px;bottom:20px;z-index:140;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.cookie-bar:not([hidden]) ~ .chat{bottom:120px}
.chat-fab{display:inline-flex;align-items:center;gap:10px;border:0;cursor:pointer;background:var(--accent);color:#fff;font:inherit;font-weight:700;font-size:.95rem;padding:14px 20px 14px 16px;border-radius:999px;box-shadow:0 16px 36px -14px rgba(105,18,38,.8)}
.chat-fab svg{width:24px;height:24px}
.chat-fab:hover{background:var(--accent-hover)}
.chat-panel{width:280px;padding:16px;border-radius:22px;background:rgba(255,255,255,.96);border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow);display:grid;gap:8px}
.chat-panel[hidden]{display:none}
.chat-hi{display:grid;gap:2px;margin-bottom:4px}
.chat-hi span{font-size:.86rem;color:var(--muted)}
.chat-opt{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:#FFF8EE;font-weight:600}
.chat-opt:hover{background:var(--gold-soft)}
.ci{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#fff;flex:none;font-size:.6rem;font-weight:800}
.ci svg{width:19px;height:19px}
.messenger .ci{background:#0A7CFF}.line .ci{background:#06C755}.phone .ci{background:var(--accent)}
@media (max-width:640px){
.cookie-bar{flex-direction:column;align-items:stretch;left:10px;right:10px;bottom:10px;gap:12px}
.cookie-actions .btn{flex:1;justify-content:center}
.chat{right:14px;bottom:14px}
.chat-fab span{display:none}.chat-fab{padding:15px}
.cookie-bar:not([hidden]) ~ .chat{bottom:190px}
}
/* ===== End cookies and chat ===== */

/* Thai and Chinese: no letter-spacing or capitals on labels */
.lang-th .eyebrow,.lang-th .hs-meta,.lang-th .t,.lang-th .evd-add-label,.lang-th .site-footer h2,.lang-th .grid .dow div,.lang-th .date small,.lang-th .hero-next .k,.lang-zh .eyebrow,.lang-zh .hs-meta,.lang-zh .t,.lang-zh .evd-add-label,.lang-zh .site-footer h2,.lang-zh .grid .dow div,.lang-zh .date small{letter-spacing:0;text-transform:none}
.lang-th .hs-meta,.lang-th .eyebrow{font-size:.9rem}
.lang-th h1,.lang-th h2,.lang-th h3,.lang-th .hs-title{line-height:1.3}
.tr-notice{background:var(--sun-soft);padding:12px 16px;border-radius:12px;font-size:.92rem}
.tr-notice a{color:var(--accent);text-decoration:underline}

/* ===== News and articles ===== */
.news-head{padding-bottom:6px}
.cat-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px;align-items:center}
.cat-nav a{padding:.45em 1em;border-radius:999px;background:var(--surface);font-weight:600;font-size:.9rem;box-shadow:var(--shadow-sm)}
.cat-nav a:hover{color:var(--accent)}
.cat-nav a[aria-current]{background:var(--accent);color:#fff}
.cat-nav .div-chip{background:transparent;box-shadow:none;border:1.5px solid #E8DCCF;font-weight:500}
.cat-sep{width:1px;height:22px;background:#E3D5C6;margin:0 4px}
.cat-label{display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.cat-label+.cat-label::before{content:"/";margin:0 6px;color:#C9B8A6}
.div-label{font-size:.74rem;font-weight:600;color:var(--muted);margin-left:10px}
.lang-th .cat-label,.lang-zh .cat-label{letter-spacing:0;text-transform:none;font-size:.82rem}
.news-list{padding-top:28px}
.list-h{font-size:1.4rem;margin:48px 0 18px;padding-top:24px;border-top:1px solid #EADCCD}
.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 26px}
.nc{display:flex;flex-direction:column;gap:14px}
.nc-img{display:block;border-radius:var(--r-md);overflow:hidden;aspect-ratio:3/2;background:var(--sky-soft)}
.nc-img img,.nc-img .ph-img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.nc:hover .nc-img img{transform:scale(1.04)}
.nc-cats{display:flex;flex-wrap:wrap;align-items:baseline}
.nc-title{font-size:1.2rem;line-height:1.3;margin-top:4px}
.nc-title a:hover{color:var(--accent)}
.nc-blurb{color:var(--muted);font-size:.95rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.nc-by{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--muted);margin-top:auto}
.nc-by .dot{opacity:.6}
.nc-lead{display:grid;grid-template-columns:1.35fr 1fr;gap:36px;align-items:center}
.nc-lead .nc-img{aspect-ratio:16/10;border-radius:var(--r-lg)}
.nc-lead .nc-title{font-size:clamp(1.6rem,2.8vw,2.3rem);line-height:1.15}
.nc-lead .nc-blurb{font-size:1.08rem;-webkit-line-clamp:4}
.nc-lead .nc-by{margin-top:6px}
.avatar{border-radius:50%;object-fit:cover;flex:none;display:inline-grid;place-items:center}
.avatar.ini{background:var(--gold-soft);color:var(--accent);font-weight:700}
.nc-by .avatar{width:28px;height:28px}
/* Article */
.article{padding:40px 0 0}
.article-head{max-width:860px}
.crumbs{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;font-size:.86rem;color:var(--muted)}
.crumbs>a:first-child{font-weight:600;color:var(--muted)}
.crumbs>a:first-child:hover{color:var(--accent)}
.crumbs .div-label{margin-left:4px}
.article-title{font-size:clamp(2rem,4.2vw,3.2rem);line-height:1.1;margin-top:16px;letter-spacing:-.025em}
.standfirst{font-size:clamp(1.1rem,1.6vw,1.3rem);color:#4A4446;margin-top:16px;line-height:1.55;max-width:60ch}
.article-meta{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-top:26px;padding:16px 0;border-top:1px solid #EADCCD;border-bottom:1px solid #EADCCD}
.byline{display:flex;align-items:center;gap:12px}
.byline .avatar{width:44px;height:44px}
.by-name{display:block;font-weight:700;color:var(--ink)}
.by-name:hover{color:var(--accent)}
.by-role{display:block;font-size:.84rem;color:var(--muted)}
.by-meta{display:block;font-size:.82rem;color:var(--muted)}
.share{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.share-label{font-size:.8rem;font-weight:700;color:var(--muted);margin-right:4px}
.sh{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--surface);color:var(--accent);border:1.5px solid #EADCCD;cursor:pointer;transition:transform .15s,background-color .15s,color .15s}
.sh svg{width:18px;height:18px}
.sh:hover{transform:translateY(-2px);color:#fff}
.sh-facebook:hover{background:#1877F2;border-color:#1877F2}.sh-line:hover{background:#06C755;border-color:#06C755}.sh-x:hover{background:#111;border-color:#111}.sh-whatsapp:hover{background:#25D366;border-color:#25D366}.sh-email:hover,.sh-copy:hover{background:var(--accent);border-color:var(--accent)}
.sh-copy.done{background:var(--leaf);border-color:var(--leaf);color:#fff}
.article-hero{margin-top:30px}
.article-hero a{display:block;border-radius:var(--r-lg);overflow:hidden;cursor:zoom-in}
.hero-img{width:100%;max-height:640px;aspect-ratio:16/9;object-fit:cover}
.article-hero figcaption{font-size:.86rem;color:var(--muted);margin-top:10px;padding-left:4px}
.article-wrap{max-width:720px}
.article-body{margin-top:34px;font-size:1.1rem;line-height:1.8}
.lang-en .article-body>p:first-of-type::first-letter{float:left;font-size:3.6em;line-height:.85;font-weight:800;color:var(--accent);margin:.06em .1em 0 0}
.article-body blockquote,.article-body .wp-block-pullquote{margin:1.8em 0;padding:6px 0 6px 24px;border-left:4px solid var(--gold);font-size:1.35rem;line-height:1.45;font-weight:600;color:var(--accent)}
.article-body blockquote p{margin:0}
.article-body figure{margin:1.8em 0}
.article-body figure img{border-radius:var(--r-md);width:100%;height:auto}
.article-body figcaption{font-size:.86rem;color:var(--muted);margin-top:8px;text-align:left}
.article-body .wp-block-gallery{display:grid!important;grid-template-columns:repeat(2,1fr);gap:12px!important;margin:1.8em -60px}
.article-body .wp-block-gallery figure{margin:0!important;width:100%!important}
.article-body .wp-block-gallery img{aspect-ratio:4/3;object-fit:cover;height:100%!important;cursor:zoom-in}
.article-body .wp-block-gallery figure:first-child:nth-last-child(odd){grid-column:span 2}
.article-body .wp-block-gallery figure:first-child:nth-last-child(odd) img{aspect-ratio:16/9}
.article-body .wp-block-embed iframe{width:100%;aspect-ratio:16/9;height:auto;border-radius:var(--r-md)}
.article-foot{margin-top:40px;padding-bottom:20px}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.tags a{font-size:.86rem;color:var(--accent);background:var(--gold-soft);padding:.3em .8em;border-radius:999px}
.share-bottom{padding:18px 0;border-top:1px solid #EADCCD;border-bottom:1px solid #EADCCD}
.author-box{display:flex;gap:18px;align-items:flex-start;margin-top:28px;padding:24px;border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-sm)}
.author-box .avatar{width:72px;height:72px}
.ab-k{font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-hover)}
.ab-name{font-weight:700;font-size:1.1rem;margin-top:2px}
.ab-name span{font-weight:500;color:var(--muted);font-size:.9rem}
.ab-bio{color:var(--muted);margin-top:6px;font-size:.95rem}
.ab-more{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-weight:700;color:var(--accent);font-size:.92rem}
.related{padding:56px 0 88px;margin-top:40px;background:linear-gradient(180deg,transparent,rgba(243,230,196,.35))}
.related h2{font-size:1.6rem;margin-bottom:24px}
.author-head{display:flex;gap:22px;align-items:center}
.author-head .avatar{width:96px;height:96px}
.author-head h1{font-size:clamp(1.8rem,3.4vw,2.6rem)}
.ah-role{font-weight:600;color:var(--accent)}
.ah-bio{color:var(--muted);max-width:60ch;margin-top:6px}
.lb{position:fixed;inset:0;z-index:300;background:rgba(20,6,10,.92);display:flex;align-items:center;justify-content:center;padding:40px}
.lb[hidden]{display:none}
.lb img{max-width:100%;max-height:100%;border-radius:12px;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.lb button{position:absolute;border:0;background:rgba(255,255,255,.14);color:#fff;width:48px;height:48px;border-radius:50%;font-size:1.8rem;cursor:pointer}
.lb button:hover{background:rgba(255,255,255,.28)}
.lb-x{top:18px;right:18px}.lb-p{left:18px;top:50%}.lb-n{right:18px;top:50%}
.photo-tips{background:var(--sky-soft);border-radius:12px;padding:14px 18px;font-size:.9rem}
.photo-tips ul{list-style:disc;padding-left:1.2em;margin-top:6px;display:grid;gap:3px}
.notice-box.warn{background:var(--sun-soft);color:#6A4B00}
@media (max-width:1060px){.news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nc-lead{grid-template-columns:1fr;gap:20px}.article-body .wp-block-gallery{margin:1.8em 0}}
@media (max-width:640px){.news-grid{grid-template-columns:1fr;gap:30px}.article{padding-top:24px}.article-meta{flex-direction:column;align-items:flex-start}.author-box{flex-direction:column}.author-head{flex-direction:column;align-items:flex-start}.article-body{font-size:1.04rem}.hero-img{aspect-ratio:4/3}.lb{padding:12px}.cat-sep{display:none}}
/* ===== End news and articles ===== */

@media (max-width:640px){.cat-nav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:-16px;padding:2px 16px 8px 2px}.cat-nav::-webkit-scrollbar{display:none}.cat-nav a{flex:none}}
