:root{--forest:#176b5b;--deep:#124f45;--mint:#20bfa5;--gold:#f4c84a;--paper:#f7fbfa;--ink:#123f38;--muted:#526e67;--line:#c8e3dc;--font:'DM Sans','Noto Sans Thai',sans-serif;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.8 var(--font)}h1,h2,h3,p,figure{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%;height:auto}button,a,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #967645;outline-offset:6px}[hidden]{display:none!important}.wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}.topline{display:flex;justify-content:space-between;padding:9px 48px;background:var(--deep);color:#e8eee7;font-size:10px;letter-spacing:1.4px}.header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 48px;background:#f7fbfaf2;backdrop-filter:blur(16px);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.header img{width:157px}.header nav{display:flex;align-items:center;gap:27px;font-size:13px}.header nav>a:not(.button):hover{color:var(--forest);text-decoration:underline;text-underline-offset:7px}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:var(--forest);color:white;padding:15px 24px;border-radius:5px;border:1px solid var(--forest);font-size:14px;font-weight:500;min-height:48px;transition:background .2s,transform .2s}.button:hover{background:var(--deep);transform:translateY(-2px)}.button.small{padding:10px 18px;min-height:42px}.button.light{background:#eef1e7;color:var(--deep);border-color:#eef1e7}.text-link{display:inline-flex;align-items:center;gap:22px;font-size:14px;border-bottom:1px solid var(--line);padding-bottom:6px}.text-link:hover{border-color:currentColor}.hero{display:grid;grid-template-columns:1fr 1.08fr;gap:35px;padding:66px 0 58px;align-items:center}.eyebrow{font-size:11px;letter-spacing:2.2px;font-weight:600;line-height:1.6;margin-bottom:26px}.eyebrow>span{display:inline-block;width:7px;height:7px;background:var(--forest);border-radius:50%;margin-right:10px}.hero h1{font-size:clamp(38px,4.25vw,65px);font-weight:500;letter-spacing:-2px;line-height:1.42}.serif{color:var(--forest);display:block}.lead{font-size:17px;color:var(--muted);line-height:1.9;margin-top:24px}.actions{display:flex;align-items:center;gap:28px;margin:32px 0 44px}.hero-foot{display:flex;align-items:center;gap:16px;font-size:10px;letter-spacing:1.2px}.hero-foot small{font-size:12px;letter-spacing:0;color:var(--muted)}.seal{border:1px solid var(--gold);border-radius:50%;width:64px;height:64px;display:flex;justify-content:center;flex-direction:column;text-align:center;font-size:13px;font-family:Georgia,serif;line-height:1.15;letter-spacing:0}.seal b{font-size:22px;font-style:italic}.hero-art{height:600px;position:relative;border-radius:120px 6px 6px 6px;overflow:hidden;background:#dce8de}.hero-art>img{width:100%;height:100%;object-fit:cover;object-position:62% center}.hero-art:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#152e2490)}.hero-art figcaption{position:absolute;top:22px;right:22px;font-size:9px;letter-spacing:1.8px;color:var(--deep);background:#f7fbfac9;padding:5px 10px}.art-label{position:absolute;bottom:35px;left:35px;color:white;font:32px/1.4 Georgia,serif;z-index:1}.facts{border-block:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 1.2fr 1fr;padding:26px 0;align-items:center}.facts>div{padding:0 26px;border-right:1px solid var(--line)}.facts>div:first-child{padding-left:0}.facts strong{font-size:29px;font-weight:500}.facts strong span{font-size:11px;font-weight:400;margin-left:6px}.facts p{font-size:12px;color:var(--muted)}.facts>a{font-size:13px;padding-left:26px;display:flex;gap:20px;justify-content:space-between}.section{padding-top:104px;padding-bottom:104px}h2{font-size:clamp(30px,3vw,44px);font-weight:500;letter-spacing:-1px;line-height:1.5}h3{font-size:22px;line-height:1.55;font-weight:500}.about,.company,.faq{display:grid;grid-template-columns:1fr 1.1fr;gap:100px}.about>div>p:not(.eyebrow){margin-bottom:20px;color:var(--muted);font-size:15px}.about .large-copy{font-size:25px!important;line-height:1.8;color:var(--ink)!important}.about .text-link{margin-top:10px}.care-band{background:var(--deep);color:#f2f5ed}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:46px}.section-head>p{font-size:14px;color:var(--muted)}.care-band .section-head>p{color:#b8ccc0}.care-band .eyebrow{color:var(--mint)}.care-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #ffffff30}.care-grid article{padding:32px 32px 0;position:relative;border-right:1px solid #ffffff30}.care-grid article:first-child{padding-left:0}.care-grid article:last-child{border:0}.number{font-size:11px;color:var(--mint)}.care-grid h3{margin:35px 0 16px}.care-grid p{font-size:14px;max-width:290px;color:#c0d0c6}.care-symbol{display:block;font-size:52px;color:var(--gold);margin-top:28px;font-weight:400}.store-tour{display:grid;grid-template-columns:.72fr 1.4fr;background:#edf0e6;border:1px solid var(--line);border-radius:12px;overflow:hidden}.tour-copy{align-self:center;padding:36px}.pill{font-size:11px;display:inline-block;border:1px solid #bed0c0;background:#eef4eb;padding:7px 13px;border-radius:30px}.tour-copy h3{margin:28px 0 15px;font-size:28px}.tour-copy p{color:var(--muted);font-size:14px}.tour-details{display:flex;gap:8px;margin:24px 0}.tour-details span{font-size:11px;border-bottom:1px solid #bccabb}.caption{font-size:12px!important;color:var(--muted)}.tour-stage{position:relative;aspect-ratio:1100/850;min-height:300px}.tour-poster,.tour-stage model-viewer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;--poster-color:transparent}.tour-start{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);border:0;border-radius:40px;background:var(--deep);color:white;padding:14px 24px;white-space:nowrap;box-shadow:0 6px 24px #124f4530}.tour-start:disabled{opacity:.65;cursor:progress}.tour-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 24px;border-top:1px solid var(--line);font-size:12px}.tour-reset{border:1px solid var(--line);border-radius:4px;background:white;color:var(--deep);padding:7px 12px}.journal{background:#eeeee5}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.news-card{min-width:0}.news-card>a{display:block;height:100%}.news-art{height:220px;background:var(--forest);color:#eef3eb;padding:23px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}.news-art:after{content:'';position:absolute;width:220px;height:220px;border:1px solid currentColor;opacity:.18;transform:rotate(30deg);border-radius:36px;right:-45px;top:30px}.news-art>span,.news-art>small{font-size:9px;letter-spacing:1.8px}.news-art>b{font-size:70px;font-weight:400;line-height:1;text-align:right;margin-right:25px}.art-1{background:#d1ddd2;color:var(--deep)}.art-2{background:#ddd1b7;color:var(--deep)}.news-content{padding:23px 0}.news-content h3{font-size:21px;margin:14px 0}.news-content>p:not(.caption){font-size:14px;color:var(--muted)}.news-content .text-link{margin-top:23px}.news-card a:hover h3{text-decoration:underline;text-underline-offset:5px}.journal-note{margin-top:25px}.company>div>p:not(.eyebrow){margin:20px 0}.company-panel{border:1px solid var(--line);background:white;padding:35px;border-radius:9px}.company-panel h3{font-size:20px;margin-bottom:20px}dl{margin:0}dl>div{padding:15px 0;display:grid;grid-template-columns:1fr 1.5fr;gap:20px;border-bottom:1px solid var(--line);font-size:13px}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere}.company-panel details{margin-top:16px}.company-panel summary{font-size:13px}.faq{padding-top:30px}.faq>div>p:not(.eyebrow){margin:15px 0 24px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:22px 0;list-style:none;font-size:16px;font-weight:500}summary::-webkit-details-marker{display:none}summary span{font-size:22px;color:var(--forest);transition:transform .2s}details[open] summary span{transform:rotate(45deg)}details>p{padding-bottom:24px;color:var(--muted);font-size:14px}summary:hover{color:var(--forest)}.contact{padding:80px 0;background:var(--forest);color:#f5f7ef;position:relative}.contact .eyebrow{color:var(--gold)}.contact h2{font-size:clamp(35px,4vw,58px)}.contact>.wrap>p:not(.eyebrow){margin:20px 0;color:#d6e4d9}.email{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff40;padding:15px 0 30px;font-size:clamp(18px,3vw,40px);overflow-wrap:anywhere;gap:20px}.email:hover{color:var(--gold)}.contact-bottom{display:flex;justify-content:space-between;gap:28px;align-items:center;margin-top:30px;font-size:14px}.contact-bottom p{color:#d6e4d9}footer{padding:50px 48px 20px;background:#f6f7f0}.footer-top{display:grid;grid-template-columns:1fr 1.4fr .6fr;gap:40px;font-size:13px}.footer-top p{color:var(--muted);margin:12px 0}.footer-top>div:last-child{display:grid;align-content:start;gap:10px}.footer-top b{font-weight:500}.footer-bottom{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:20px;margin-top:40px;font-size:10px;color:var(--muted)}.article{max-width:780px;padding-top:64px;padding-bottom:96px}.article h1{font-size:clamp(30px,4vw,49px);line-height:1.5;font-weight:500;letter-spacing:-1px;margin:20px 0}.article .eyebrow{margin-top:42px}.article>p{margin:22px 0}.article h2{font-size:24px;margin-top:32px}.article hr{border:0;border-top:1px solid var(--line);margin:32px 0}.source{padding:24px;background:#e7eee4;border-left:3px solid var(--forest);margin:32px 0}.source a,.article p a{text-decoration:underline;text-underline-offset:4px}.skip{position:fixed;left:12px;top:12px;z-index:30;transform:translateY(-180%);background:white;padding:10px 20px}.skip:focus{transform:none}.menu-toggle{border:1px solid var(--line);background:transparent;padding:9px 14px;color:var(--ink);border-radius:4px}
@media(min-width:1051px){.menu-toggle{display:none}}
@media(max-width:1050px){.wrap{width:calc(100% - 48px)}.header,.topline{padding-inline:24px}.header{flex-wrap:wrap}.header nav{gap:18px}.header nav.mobile-nav{display:none;width:100%;flex-wrap:wrap;padding:15px 0;border-top:1px solid var(--line)}.header nav.mobile-nav.is-open{display:flex}.hero{gap:24px}.hero-art{height:510px}.hero h1{font-size:44px}.about,.company,.faq{gap:45px}.facts{grid-template-columns:1fr 1fr 1fr}.facts>a{grid-column:1/-1;border-top:1px solid var(--line);margin-top:22px;padding:18px 0 0}.facts>div:nth-child(3){border:0}.care-grid article{padding-inline:20px}.contact-bottom{flex-wrap:wrap}.store-tour{grid-template-columns:1fr 1.5fr}.tour-copy{padding:25px}.news-art{height:185px}}
@media(max-width:700px){html{scroll-padding-top:85px}.wrap{width:calc(100% - 40px)}.topline{font-size:8px;padding:7px 20px;letter-spacing:.7px}.topline span:last-child{font-size:9px;letter-spacing:0}.header{padding:13px 20px}.header img{width:134px}.header nav{font-size:14px;gap:20px}.hero{grid-template-columns:1fr;padding:42px 0 32px;gap:34px}.hero h1{font-size:46px;letter-spacing:-1.6px}.hero .eyebrow{font-size:10px;margin-bottom:22px}.lead{font-size:15px}.actions{gap:23px;margin:26px 0}.hero-foot{margin-top:30px}.hero-art{height:420px;border-radius:90px 5px 5px 5px}.art-label{font-size:28px;bottom:26px;left:24px}.facts{padding:22px 0;grid-template-columns:1fr 1fr}.facts>div{padding:0 15px!important}.facts>div:first-child{padding-left:0!important}.facts>div:nth-child(2){border:0}.facts>div:nth-child(3){grid-column:1/-1;margin-top:20px;padding:20px 0 0!important;border-top:1px solid var(--line)}.facts strong{font-size:26px}.facts p{font-size:11px}.section{padding-block:65px}.about,.company,.faq{grid-template-columns:1fr;gap:30px}h2{font-size:32px}.eyebrow{margin-bottom:17px}.about .large-copy{font-size:21px!important}.section-head{display:block;margin-bottom:30px}.section-head>p{margin-top:20px}.care-grid{grid-template-columns:1fr}.care-grid article{padding:25px 0;border-right:0;border-bottom:1px solid #ffffff30}.care-grid h3{margin-top:18px}.care-grid p{max-width:none;padding-right:45px}.care-symbol{position:absolute;right:0;bottom:20px;font-size:35px}.store-tour{grid-template-columns:1fr}.tour-copy{padding:28px}.tour-copy h3{margin-top:17px}.tour-toolbar{padding:15px;flex-wrap:wrap}.news-grid{grid-template-columns:1fr;gap:24px}.news-art{height:230px}.news-content{padding-bottom:16px}.news-content h3{font-size:22px}.company-panel{padding:24px}dl>div{grid-template-columns:1fr;gap:4px}.faq{padding-top:0}summary{font-size:15px}.contact{padding:55px 0}.email{font-size:19px}.contact-bottom{display:grid;justify-content:start;gap:20px}.contact .button{justify-self:start}footer{padding:35px 20px 20px}.footer-top{grid-template-columns:1fr;gap:25px}.footer-bottom{flex-direction:column}.article{padding-top:35px}.article h1{font-size:33px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Reading-first responsive layout: Thai text keeps natural spacing. */
:root { --muted: #53665b; }
body { font-size: 17px; line-height: 1.85; }
.wrap { width: min(1200px, calc(100% - 64px)); }
.header { padding: 16px max(32px, calc((100vw - 1200px) / 2)); }
.header nav { font-size: 15px; gap: 24px; }
.topline { padding-inline: max(32px, calc((100vw - 1200px) / 2)); font-size: 11px; }
h1, h2, h3 { letter-spacing: 0; text-wrap: balance; }
.hero { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 48px; padding: 48px 0; }
.hero h1 { font-size: clamp(36px, 3.5vw, 50px); line-height: 1.5; letter-spacing: 0; font-weight: 600; }
.hero h1 .headline-line { display: block; }
.hero h1 .serif { display: inline; }
.hero .lead { max-width: 32em; font-size: 18px; line-height: 1.95; margin-top: 20px; }
.hero-art { height: auto; aspect-ratio: 1 / 1.04; border-top-left-radius: 80px; }
.hero-art figcaption { font-size: 10px; letter-spacing: 1px; }
.art-label { font-size: 28px; bottom: 25px; left: 26px; }
.hero .eyebrow { margin-bottom: 20px; letter-spacing: 1.5px; }
.actions { margin: 26px 0 30px; flex-wrap: wrap; gap: 20px; }
.button, .text-link { font-size: 16px; }
.hero-foot { font-size: 11px; letter-spacing: .6px; }
.hero-foot small { font-size: 14px; }
.facts p { font-size: 14px; }
.facts strong span { font-size: 13px; }
.facts > a { font-size: 15px; }
.section { padding-block: 76px; }
h2 { font-size: clamp(29px, 2.8vw, 38px); line-height: 1.6; }
.about, .company, .faq { gap: 64px; }
.about > div > p:not(.eyebrow) { font-size: 17px; }
.about .large-copy { font-size: 23px !important; }
.section-head > p, .care-grid p, .tour-copy p,
.news-content > p:not(.caption), details > p { font-size: 16px; line-height: 1.9; }
.news-content h3 { font-size: 22px; line-height: 1.65; }
.caption { font-size: 14px !important; line-height: 1.8; }
dl > div { font-size: 15px; }
summary { font-size: 17px; line-height: 1.8; }
.company-panel summary { font-size: 15px; }
.footer-top { font-size: 15px; }
.footer-bottom { font-size: 12px; }
.article { max-width: 760px; }
.article h1 { font-size: clamp(30px, 3.5vw, 44px); letter-spacing: 0; }
.article > p { font-size: 18px; line-height: 2; }
@media (min-width: 701px) and (max-width: 1050px) {
  .hero { gap: 28px; }
  .hero h1 { font-size: 35px; }
  .hero .lead { font-size: 17px; }
  .hero-art { min-height: 420px; }
  .hero-foot { align-items: flex-start; }
  .hero-foot p { flex: 1; }
  .hero-foot small { display: block; }
  .seal { flex-shrink: 0; }
  .about, .company, .faq { gap: 32px; }
  .news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .news-card:last-child { grid-column: 1 / -1; max-width: 580px; }
}
@media (max-width: 850px) {
  .hero { grid-template-columns: 1fr; gap: 30px; }
  .hero-copy { max-width: 640px; }
  .hero h1 { font-size: clamp(32px, 5.8vw, 44px); }
  .hero-art { min-height: 0; aspect-ratio: 16 / 10; max-height: 450px; }
  .hero-art > img { object-position: 65% 58%; }
  .store-tour { grid-template-columns: 1fr; }
  .tour-copy { padding: 28px; }
  .tour-copy h3 { margin-top: 16px; }
  .company, .faq { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .wrap { width: calc(100% - 40px); }
  .header { padding: 12px 20px; }
  .topline { padding-inline: 20px; font-size: 9px; }
  .topline span:last-child { display: none; }
  .hero { padding: 32px 0; }
  .hero h1 { font-size: clamp(29px, 7.7vw, 40px); line-height: 1.6; }
  .hero .lead { font-size: 17px; margin-top: 16px; }
  .hero-foot { margin-top: 0; }
  .hero-foot p { min-width: 0; font-size: 10px; }
  .hero-foot small { font-size: 13px; }
  .seal { flex-shrink: 0; }
  .hero-art { border-top-left-radius: 54px; aspect-ratio: 1.15; }
  .hero-art figcaption { top: 14px; right: 12px; font-size: 8px; }
  .art-label { font-size: 24px; left: 22px; bottom: 20px; }
  .actions { gap: 18px; margin: 24px 0; }
  .actions .button { padding: 13px 18px; }
  .section { padding-block: 48px; }
  .about, .company, .faq { gap: 24px; }
  .about .large-copy { font-size: 21px !important; }
  .facts p, .facts > a { font-size: 14px; }
  .facts strong span { font-size: 12px; }
  .news-grid { grid-template-columns: 1fr; }
  .faq { padding-top: 8px; }
  summary { font-size: 16px; }
  .contact { padding: 48px 0; }
  .contact .email { font-size: clamp(15px, 4.6vw, 25px); }
  .article > p { font-size: 17px; }
}
@media (max-width: 360px) {
  .wrap { width: calc(100% - 32px); }
  .actions { align-items: stretch; flex-direction: column; }
  .actions .text-link { align-self: flex-start; }
}

.journal-index { max-width: 960px; }
.journal-list { margin-top: 36px; border-top: 1px solid var(--line); }
.journal-row { display: grid; grid-template-columns: 64px minmax(0,1fr) 24px; gap: 24px; padding: 28px 0; border-bottom: 1px solid var(--line); }
.journal-row h2 { font-size: 23px; margin: 5px 0 10px; }
.journal-row p { font-size: 16px; color: var(--muted); }
.journal-row:hover h2 { text-decoration: underline; text-underline-offset: 5px; }
.journal-day { font-size: 32px; line-height: 1.4; color: var(--forest); }
.journal-day small { display: block; font-size: 13px; }
@media(max-width:600px) { .journal-row { grid-template-columns: 40px minmax(0,1fr); gap: 16px; } .journal-row>span:last-child { display: none; } .journal-row h2 { font-size: 20px; } .journal-day { font-size: 25px; } }
