:root{--ink: #173329;--muted: #62736d;--green: #176b4c;--green-dark: #0c5038;--mint: #e9f5ed;--mint-soft: #f4faf5;--yellow: #f4c84a;--yellow-soft: #fff8da;--cream: #fbfcf8;--line: #dfe9e2;--white: #fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font-family:Prompt,Sarabun,Leelawadee UI,Tahoma,sans-serif;font-weight:300;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button:disabled{cursor:not-allowed;opacity:.55}.shell{width:min(1160px,calc(100% - 40px));margin-inline:auto}#websites,#stories,#about{scroll-margin-top:84px}.site-header{position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(223,233,226,.8);background:#ffffffeb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.nav-wrap{min-height:72px;display:flex;align-items:center;justify-content:space-between}.brand,.footer-brand{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:-.02em}.brand>span:last-child{white-space:nowrap}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--green);color:#fff;box-shadow:4px 4px 0 var(--yellow)}.brand-mark svg{width:22px;height:22px}.brand-mark.small{width:34px;height:34px;border-radius:10px}nav{display:flex;gap:28px;color:#486158;font-size:.92rem;font-weight:650}nav a:hover{color:var(--green)}.hero{overflow:hidden;background:radial-gradient(circle at 82% 20%,rgba(244,200,74,.18) 0 12%,transparent 12.3%),linear-gradient(180deg,#f8fcf7,#fff)}.hero-grid{min-height:600px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:64px;padding-block:78px 88px}.eyebrow,.section-kicker{margin:0 0 16px;color:var(--green);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow span{width:28px;height:3px;border-radius:99px;background:var(--yellow)}.hero h1{margin:0;font-size:clamp(3rem,5.7vw,5.25rem);line-height:1.08;letter-spacing:-.055em;font-weight:850}.hero h1 em{position:relative;color:var(--green);font-style:normal}.hero h1 em:after{content:"";position:absolute;left:2%;right:0;bottom:3px;height:11px;z-index:-1;border-radius:99px;background:var(--yellow);opacity:.7}.hero-name{display:block;margin-top:13px;color:var(--ink);font-size:clamp(1.25rem,2.2vw,1.85rem);line-height:1.3;letter-spacing:-.025em;font-weight:400}.hero-lead{max-width:560px;margin:26px 0 0;color:var(--muted);font-size:1.12rem;line-height:1.85}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:34px}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:0 21px;border:1px solid transparent;border-radius:13px;font-weight:750;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--green);color:#fff;box-shadow:0 8px #176b4c1f}.button.primary:hover{background:var(--green-dark)}.button.quiet{border-color:var(--line);background:#fff}.button.quiet:hover{border-color:#bdd3c4;box-shadow:0 7px 22px #215b4514}.hero-art{position:relative}.hero-art:before,.hero-art:after{content:"";position:absolute;border-radius:50%;background:var(--yellow)}.hero-art:before{width:18px;height:18px;top:-20px;left:4%}.hero-art:after{width:9px;height:9px;right:3%;bottom:10%;background:var(--green)}.hero-art>svg{width:100%;height:auto;display:block;filter:drop-shadow(0 24px 32px rgba(26,86,62,.1))}.slider-section{padding-top:48px}.image-slider{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:var(--mint-soft);box-shadow:0 18px 42px #19513b14}.slider-track{display:flex;transition:transform .55s ease}.slide{min-width:100%}.slide>a{display:block}.slide-frame{position:relative;aspect-ratio:16 / 6.5;overflow:hidden}.slide-frame img{width:100%;height:100%;display:block;object-fit:cover}.slide-caption{position:absolute;right:0;bottom:0;left:0;padding:70px 76px 30px;color:#fff;background:linear-gradient(transparent,#082a1ed1)}.slide-caption h2{max-width:760px;margin:0;font-size:clamp(1.35rem,3vw,2.4rem);line-height:1.3}.slide-caption p{max-width:720px;margin:7px 0 0;line-height:1.65}.slider-arrow{position:absolute;top:50%;width:42px;height:42px;display:grid;place-items:center;transform:translateY(-50%);border:1px solid rgba(255,255,255,.7);border-radius:50%;background:#ffffffe6;color:var(--green-dark);cursor:pointer;font-size:1.8rem;box-shadow:0 5px 18px #00000024}.slider-arrow.previous{left:18px}.slider-arrow.next{right:18px}.slider-dots{position:absolute;right:0;bottom:15px;left:0;display:flex;justify-content:center;gap:7px}.slider-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#ffffff9e;cursor:pointer;box-shadow:0 1px 5px #0003}.slider-dots button.active{width:24px;border-radius:99px;background:var(--yellow)}.section{padding-block:104px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:36px}.section-head.compact{align-items:center}.section-head h2,.about-card h2{max-width:660px;margin:0;font-size:clamp(1.8rem,3.2vw,2.65rem);line-height:1.3;letter-spacing:-.035em}.section-note{max-width:280px;margin:0 0 4px;color:var(--muted);line-height:1.7}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.project-card{position:relative;min-height:225px;display:grid;grid-template-columns:66px 1fr;gap:20px;padding:27px;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#fff;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.project-card:not(.disabled):hover{transform:translateY(-4px);border-color:#bdd3c4;box-shadow:0 18px 40px #19513b17}.project-card.disabled{cursor:default}.project-icon{width:62px;height:62px;display:grid;place-items:center;border-radius:18px;background:color-mix(in srgb,var(--accent, #176b4c) 14%,white);color:var(--accent, #176b4c)}.project-icon svg{width:30px;height:30px}.tag{display:inline-block;margin-bottom:8px;color:var(--green);font-size:.75rem;font-weight:800}.project-copy h3,.story-body h3{margin:0;font-size:1.18rem;line-height:1.45;letter-spacing:-.02em}.project-copy p,.story-body p{margin:8px 0 0;color:var(--muted);font-size:.92rem;line-height:1.75}.project-link{grid-column:2;align-self:end;color:var(--green);font-size:.84rem;font-weight:750}.stories-section{background:var(--mint-soft)}.text-link,.read-more{color:var(--green);font-weight:750}.text-link{white-space:nowrap}.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.story-card{overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#fff;transition:transform .18s ease,box-shadow .18s ease}.story-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px #19513b17}.story-cover{height:190px;display:grid;place-items:center;background-position:center;background-size:cover}.story-cover.cover-1{background-color:#e4f2e8}.story-cover.cover-2{background-color:var(--yellow-soft)}.story-cover.cover-3{background-color:#eef4f1}.story-cover svg{width:78%;height:78%}.story-body{padding:22px}.story-meta{display:flex;justify-content:space-between;gap:14px;margin-bottom:11px;color:#788981;font-size:.73rem;font-weight:700}.story-meta span{color:var(--green)}.read-more{display:inline-block;margin-top:18px;font-size:.84rem}.about-section{padding-block:104px}.about-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:30px;padding:42px;border-radius:26px;background:var(--yellow-soft)}.about-card p:not(.section-kicker){max-width:680px;margin:13px 0 0;color:#637168;line-height:1.8}.about-mark{width:86px;height:86px;display:grid;place-items:center;border:3px solid var(--green);border-radius:50% 50% 48% 52%/49% 52% 48% 51%;background:#fff;color:var(--green);font-size:2.2rem;font-weight:900;transform:rotate(-4deg)}.about-mark span{transform:rotate(4deg)}footer{border-top:1px solid var(--line);background:var(--cream)}.footer-wrap{min-height:130px;display:flex;align-items:center;justify-content:space-between;gap:30px;color:var(--muted);font-size:.84rem}.footer-brand{color:var(--ink)}.footer-brand p{margin:3px 0 0;color:var(--muted);font-size:.74rem;font-weight:500}.footer-meta{display:flex;flex-direction:column;align-items:flex-end;gap:5px;text-align:right}.footer-meta p{margin:0}.visit-counter{color:#7b8b84;font-size:.7rem;letter-spacing:.01em}.listing-title{margin:0;font-size:clamp(2.5rem,5vw,4.4rem);line-height:1.15;letter-spacing:-.05em}.article-shell{width:min(760px,calc(100% - 40px));min-height:70vh;margin-inline:auto;padding-block:70px 110px}.back-link{display:inline-flex;margin-bottom:30px;color:var(--green);font-weight:750}.article-shell h1{margin:10px 0 18px;font-size:clamp(2.2rem,5vw,4rem);line-height:1.22;letter-spacing:-.045em}.article-excerpt{color:var(--muted);font-size:1.12rem;line-height:1.85}.article-cover{width:100%;max-height:460px;margin:34px 0;border-radius:22px;object-fit:cover}.article-content{color:#334b42;font-size:1.04rem;line-height:2;white-space:pre-wrap}.article-meta{justify-content:flex-start;gap:20px;margin:0 0 20px}.article-placeholder{height:min(440px,55vw);display:grid;place-items:center;margin:34px 0;border-radius:22px;background:var(--mint)}.article-placeholder svg{width:min(560px,80%);height:82%}.empty-state{margin-block:70px;padding:50px 24px;border:1px dashed #b9cdbf;border-radius:20px;text-align:center;color:var(--muted)}.empty-state h1{color:var(--ink)}.notice{padding:12px 14px;border-radius:10px;font-size:.84rem;line-height:1.6}.notice.error{border:1px solid #efcaca;background:#fff5f5;color:#963d3d}.notice.warning{border:1px solid #ebd98d;background:var(--yellow-soft);color:#6b5a19}.loading-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.loading-grid span{min-height:190px;border-radius:20px;background:linear-gradient(90deg,#f2f5f3 25%,#fafcfa,#f2f5f3 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}@keyframes shimmer{to{background-position:-200% 0}}.login-page{min-height:calc(100vh - 72px);display:grid;place-items:center;padding:40px 20px;background:var(--mint-soft)}.login-card{width:min(450px,100%);padding:38px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 22px 50px #19513b14}.login-card h1{margin:0;font-size:2rem;letter-spacing:-.04em}.login-card>p:not(.section-kicker){margin:10px 0 24px;color:var(--muted);line-height:1.7}.login-card form{display:flex;flex-direction:column;gap:15px;margin-top:20px}.login-card label{display:flex;flex-direction:column;gap:7px;color:#385148;font-size:.82rem;font-weight:700}.login-card input{padding:11px 12px;border:1px solid #cfddd3;border-radius:9px;outline:none}.login-card input:focus{border-color:var(--green);box-shadow:0 0 0 3px #176b4c17}.full{width:100%}.login-back{margin:24px 0 0;font-size:.84rem}.admin-page{min-height:100vh;background:#f5f8f5;color:var(--ink)}.admin-topbar{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px max(24px,calc((100vw - 1180px)/2));border-bottom:1px solid var(--line);background:#fff}.admin-topbar p{margin:0 0 2px;color:var(--green);font-size:.73rem;font-weight:800}.admin-topbar strong{font-size:1.08rem}.admin-account{display:flex;align-items:center;gap:18px;color:var(--muted);font-size:.8rem}.admin-account a,.admin-account button{border:0;background:transparent;color:inherit;cursor:pointer;font-weight:700}.admin-status{margin-bottom:18px;padding:11px 20px;border:1px solid #c8dfd0;border-radius:12px;background:var(--mint);color:var(--green-dark);text-align:center;font-size:.84rem}.admin-shell{width:min(1180px,calc(100% - 40px));margin-inline:auto;padding-block:46px 80px}.admin-hero{display:flex;align-items:center;justify-content:space-between;gap:30px}.admin-hero p{margin:0 0 5px;color:var(--green);font-size:.76rem;font-weight:800}.admin-hero h1{margin:0;font-size:clamp(1.8rem,3.4vw,2.8rem);letter-spacing:-.04em}.admin-hero span{display:inline-block;margin-top:7px;color:var(--muted)}.admin-primary,.admin-secondary{min-height:44px;padding:0 18px;border:0;border-radius:11px;cursor:pointer;font-weight:750}.admin-primary{background:var(--green);color:#fff}.admin-secondary{border:1px solid var(--line);background:#fff;color:var(--ink)}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:32px 0}.admin-stats div{display:flex;flex-direction:column;padding:23px;border:1px solid var(--line);border-radius:17px;background:#fff}.admin-stats strong{font-size:2rem;color:var(--green)}.admin-stats span{margin-top:3px;color:var(--muted);font-size:.82rem}.admin-tabs{display:flex;gap:5px;margin-bottom:20px;padding:5px;border:1px solid var(--line);border-radius:13px;background:#fff}.admin-tabs button{flex:1;min-height:40px;border:0;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer;font-weight:750}.admin-tabs button.active{background:var(--mint);color:var(--green-dark)}.admin-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:start;gap:18px}.admin-panel{padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff}.editor-panel{position:sticky;top:20px}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.panel-title h2{margin:0;font-size:1.12rem}.panel-title span{color:var(--muted);font-size:.75rem}.admin-list{display:flex;flex-direction:column;gap:10px}.admin-list-item{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;border:1px solid #e8eeea;border-radius:13px}.admin-list-item h3{margin:7px 0 3px;font-size:.94rem}.admin-list-item p{margin:0;color:var(--muted);font-size:.73rem}.status-pill{display:inline-flex;padding:3px 8px;border-radius:99px;background:#f0f2f1;color:#74817b;font-size:.65rem;font-weight:800}.status-pill.live{background:var(--mint);color:var(--green)}.item-actions{display:flex;flex-shrink:0;gap:7px}.item-actions button{padding:6px 9px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;color:var(--green);font-size:.72rem;font-weight:700}.item-actions button.danger{color:#a23939}.editor-panel label{display:flex;flex-direction:column;gap:7px;margin-bottom:15px;color:#385148;font-size:.78rem;font-weight:700}.editor-panel input,.editor-panel textarea,.editor-panel select{width:100%;padding:10px 12px;border:1px solid #cfddd3;border-radius:9px;outline:none;background:#fff;color:var(--ink);font-size:.85rem;font-weight:500}.editor-panel textarea{resize:vertical;line-height:1.7}.editor-panel input:focus,.editor-panel textarea:focus,.editor-panel select:focus{border-color:var(--green);box-shadow:0 0 0 3px #176b4c17}.editor-panel input[type=color]{min-height:42px;padding:5px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.editor-panel .check-label{flex-direction:row;align-items:center}.editor-panel .check-label input{width:17px;height:17px}.form-actions{display:flex;justify-content:flex-end;gap:9px}.admin-message{width:min(560px,calc(100% - 40px));margin:80px auto;padding:50px 30px;border:1px solid var(--line);border-radius:20px;background:#fff;text-align:center}.admin-message p,.admin-empty{color:var(--muted)}@media(max-width:860px){.hero-grid{grid-template-columns:1fr;gap:32px;padding-block:64px}.hero-copy{text-align:center}.eyebrow,.hero-actions{justify-content:center}.hero-lead{margin-inline:auto}.hero-art{width:min(560px,100%);margin-inline:auto}.slide-frame{aspect-ratio:16 / 8}.section-head{align-items:flex-start;flex-direction:column;gap:12px}.project-grid{grid-template-columns:1fr}.story-grid{grid-template-columns:repeat(2,1fr)}.about-card{grid-template-columns:auto 1fr}.about-button{grid-column:2;justify-self:start}.admin-grid{grid-template-columns:1fr}.editor-panel{position:static}}@media(max-width:620px){.shell{width:min(100% - 28px,1160px)}.nav-wrap{min-height:64px}.brand{gap:9px;font-size:.84rem}.brand-mark{width:34px;height:34px}nav{display:none}.hero-grid{min-height:auto;padding-block:48px 62px}.hero h1{font-size:clamp(2.55rem,14vw,3.7rem)}.hero-lead{font-size:1rem}.slider-section{padding-top:24px}.image-slider{border-radius:17px}.slide-frame{aspect-ratio:4 / 3}.slide-caption{padding:60px 54px 34px 20px}.slide-caption p{display:none}.slider-arrow{width:34px;height:34px;font-size:1.45rem}.slider-arrow.previous{left:10px}.slider-arrow.next{right:10px}.slider-dots{bottom:11px}.section,.about-section{padding-block:74px}.project-card{grid-template-columns:54px 1fr;min-height:210px;padding:22px}.project-icon{width:52px;height:52px;border-radius:15px}.story-grid{grid-template-columns:1fr}.story-cover{height:210px}.about-card{grid-template-columns:1fr;padding:30px 24px}.about-mark{width:68px;height:68px;font-size:1.8rem}.about-button{grid-column:1}footer{padding:14px;border-top:0;background:linear-gradient(180deg,#f1f8f3,#e7f2ea)}.footer-wrap{width:100%;min-height:0;align-items:center;flex-direction:column;justify-content:center;gap:16px;padding:22px 18px 16px;border:1px solid rgba(23,107,76,.1);border-radius:20px;background:#fff;text-align:center;box-shadow:0 10px 28px #19513b14}.footer-brand{flex-direction:column;gap:10px}.footer-brand .brand-mark.small{width:40px;height:40px;border-radius:12px}.footer-brand strong{display:block;font-size:.86rem;line-height:1.5}.footer-brand p{margin-top:2px;font-size:.66rem}.footer-meta{width:100%;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid var(--line);text-align:left}.footer-meta p{color:#87958f;font-size:.58rem;white-space:nowrap}.visit-counter{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:99px;background:var(--mint);color:var(--green-dark);font-size:.64rem}.visit-counter:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px #176b4c1a}.loading-grid,.form-row{grid-template-columns:1fr}.admin-topbar,.admin-hero,.admin-list-item{align-items:flex-start;flex-direction:column}.admin-account{flex-wrap:wrap}.admin-shell{width:min(100% - 26px,1180px);padding-block:32px 60px}.admin-hero .admin-primary{width:100%}.admin-stats{grid-template-columns:1fr}.login-card{padding:28px 22px}}body,body *{font-family:Prompt,Sarabun,Leelawadee UI,Tahoma,sans-serif!important;font-weight:300!important}body :is(h1,h2,h3,h4,h5,h6,strong,b,.brand,.footer-brand){font-weight:400!important}
