:root{--ink:#163d45;--muted:#526b6d;--sea:#087f8c;--leaf:#347550;--sand:#fff9ed;--line:#c9ded8;--gold:#e5aa4b}*{box-sizing:border-box}body{margin:0;background:var(--sand);color:var(--ink);font-family:"Leelawadee UI","Noto Sans Thai",Tahoma,sans-serif;line-height:1.8}a{color:inherit;text-decoration:none}a:hover{color:#075d68}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #075d68;outline-offset:4px}header{padding:22px 5%;display:flex;gap:30px;align-items:center;justify-content:space-between;background:#fffaf0;border-bottom:1px solid #dfebe3}.brand{font-size:32px;font-weight:800;letter-spacing:-1.5px;line-height:1}.brand span{color:var(--sea)}.brand small{font-size:9px;letter-spacing:2px;display:block;margin-top:12px;font-weight:600;color:var(--muted)}nav{display:flex;gap:32px;font-size:14px}.nav-cta{font-size:13px;border:1px solid var(--line);border-radius:30px;padding:9px 17px}.hero{min-height:650px;position:relative;overflow:hidden;padding:70px 7%;background:#daf2f3;display:flex;align-items:center}.landscape{position:absolute;right:0;top:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f2fbf2 0%,#eef9edec 30%,#edf8eb91 46%,transparent 65%)}.hero-copy{position:relative;z-index:1;max-width:660px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:#276e67;text-transform:uppercase}h1{font-size:clamp(37px,4.5vw,68px);line-height:1.33;letter-spacing:-1.5px;font-weight:650;margin:24px 0}h1 span{display:block;color:#087c88}p{color:var(--muted)}.intro{font-size:17px;max-width:650px}.hero-caption{position:absolute;bottom:16px;right:26px;color:#19494c;font-size:10px;background:#fff9e8d9;padding:4px 9px;z-index:2;border-radius:15px}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:30px;background:#087f8c;color:#fffdf3;padding:12px 25px;font-weight:650;font-size:14px;cursor:pointer}.button:hover{background:#066573;color:white}.text-link{display:inline-block;margin-left:22px;border-bottom:1px solid #689d94;font-size:14px}.hero .button{margin-top:20px}section{padding:65px 7%;max-width:1600px;margin:0 auto}.hero{max-width:none}.search-strip{position:relative;z-index:2;display:flex;gap:32px;align-items:center;justify-content:space-between;background:#f9f6dc;border:1px solid #e2ddba;max-width:1160px;margin:-22px auto 0;border-radius:18px;padding:24px 32px;box-shadow:0 18px 35px #1f62510a}.search-strip h2{font-size:24px;margin:3px 0}.search-strip form{display:flex;gap:12px;flex:1;max-width:620px}input,select{width:100%;min-width:0;background:#fffdf5;border:1px solid #b5cfc8;border-radius:9px;padding:12px;color:var(--ink)}h2{font-size:clamp(26px,2.5vw,37px);line-height:1.45;margin:12px 0 22px;letter-spacing:-.6px}h3{line-height:1.5}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:24px}.section-head>a{font-size:13px;border-bottom:1px solid #abcac2;margin-bottom:22px}.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.story{min-height:300px;padding:30px 32px;border-radius:16px;position:relative;overflow:hidden;border:1px solid #c2ded6}.story:after{content:"";position:absolute;width:200px;height:160px;border:1px solid #ffffffb5;border-radius:50%;right:-65px;bottom:-55px;transform:rotate(-35deg)}.story span{font-size:10px;letter-spacing:1.5px;font-weight:700}.story h3{font-size:32px;margin:24px 0 15px}.story p{font-size:14px;max-width:240px}.sea{background:linear-gradient(145deg,#b0e7e4,#e4f3dc)}.leaf{background:linear-gradient(145deg,#d8ebba,#ecf3d6)}.sand{background:linear-gradient(145deg,#ffe5b7,#f5ecd5)}.district-band{background:#e9f4e8;max-width:none;text-align:center;padding-top:45px;padding-bottom:45px}.district-links{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:28px 0}.district-links a{background:#fffaf0;border:1px solid #b9d3be;padding:10px 20px;border-radius:25px;font-weight:600;font-size:14px}.district-band p{font-size:13px}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px}.quote-panel{background:#dcf0e9;border:1px solid #b8dad0;border-radius:18px;padding:32px}.quote-panel h3{font-size:35px;margin:15px 0}.split .text-link{margin-left:0}.page-heading{background:linear-gradient(135deg,#e5f6ef,#edf5d7);max-width:none;padding-bottom:50px}.page-heading>p,.page-heading>h1,.page-heading>a,.page-heading>.facts{max-width:1200px;margin-left:auto;margin-right:auto}.page-heading>h1{font-size:clamp(34px,4vw,58px)}.page-heading>h1 span{font-size:.8em}.filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:15px;align-items:end;padding:22px;border:1px solid #c1d9d1;border-radius:14px;background:#f1f6e8}.filters label,.planner label{font-size:13px;font-weight:600;display:block}.filters label input,.filters label select,.planner select{margin-top:7px}.filters>a{font-size:12px}.directory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.place-card{display:flex;flex-direction:column;padding:24px;border:1px solid #ccdcd2;border-radius:13px;background:#fffdf5;min-height:260px;transition:transform .18s,box-shadow .18s}.place-card:hover{transform:translateY(-3px);box-shadow:0 8px 22px #205c5011}.place-card h3{font-size:21px;margin:18px 0 8px}.place-card p{font-size:13px;margin:0 0 20px}.tag{font-size:10px;background:#e2f0d9;border-radius:20px;padding:3px 10px;align-self:start;color:#315c40}.card-bottom{margin-top:auto;display:flex;gap:10px;justify-content:space-between;font-size:11px;color:#54736b}.card-bottom b{color:#08717a}.source{padding:25px;background:#edf3e7;border-left:3px solid #79ab74;border-radius:4px;margin:30px 0}.source ul{padding-left:20px}.source a,.source-list a{text-decoration:underline;text-underline-offset:3px}.source small,.small{font-size:12px;color:#5b7168}.source li{font-size:13px;margin:10px 0}.source-list{line-height:2.4}.facts{display:flex;gap:12px;flex-wrap:wrap}.facts span{padding:6px 14px;border-radius:20px;background:#fef8df;font-size:12px}dt{font-weight:700;font-size:13px;margin-top:20px}dd{margin:5px 0 18px;color:var(--muted);font-size:14px}.planner{display:grid;align-content:start;gap:22px;background:#f4efdc;border:1px solid #e2d9b4;padding:30px;border-radius:16px}.planner .button{justify-self:start}footer{background:#e7efdf;border-top:1px solid #c7d7c0;padding:40px 7%;display:flex;justify-content:space-between;gap:30px}footer p{font-size:12px}footer>div:last-child{max-width:420px}footer a:not(.brand){font-size:13px;text-decoration:underline}.skip{position:absolute;top:-80px;left:20px;z-index:10;background:#fff8d6;padding:12px}.skip:focus{top:5px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}[hidden]{display:none!important}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media(max-width:900px){header{gap:17px;flex-wrap:wrap}nav{order:3;width:100%;gap:22px;overflow:auto;font-size:13px}.brand{font-size:27px}.hero{padding:40px 7% 180px;min-height:600px;align-items:start}.hero:after{background:linear-gradient(180deg,#eff9eefa 0%,#eff9eedc 50%,transparent 86%)}.landscape{object-position:65% center}.hero-copy{max-width:90%}.hero .intro{font-size:15px}.hero-caption{font-size:9px;right:10px}.search-strip{margin:-15px 5% 0;padding:22px;display:block}.search-strip form{margin-top:16px}.story-grid,.directory-grid{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr;gap:25px}.filters{grid-template-columns:1fr 1fr}.section-head{display:block}.story h3{font-size:29px}section{padding:42px 6%}}@media(max-width:540px){.directory-grid,.story-grid{grid-template-columns:1fr}.story{min-height:240px}.filters{grid-template-columns:1fr}.hero h1{font-size:42px}.hero .intro br{display:none}.hero .text-link{margin-left:14px;font-size:12px}.hero .button{padding:11px 19px}.nav-cta{font-size:11px;padding:7px 12px}.search-strip form{flex-wrap:wrap}.search-strip input{flex:1;min-width:150px}.search-strip .button{padding:10px 17px}.page-heading h1{overflow-wrap:anywhere}footer{flex-direction:column}.district-links a{font-size:12px}.place-card{min-height:220px}}
