@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Noto+Sans+Thai:wght@400;500;700&display=swap');
.menu-toggle{display:none;border:0;background:transparent;padding:7px;cursor:pointer}.menu-toggle span{display:block;width:23px;height:2px;margin:4px 0;background:var(--ink);transition:transform .2s,opacity .2s}.line-contact{display:inline-flex;align-items:center;gap:12px;margin-top:20px;padding:10px 14px;border:1px solid rgba(23,34,31,.2);color:var(--ink);font-size:.9rem}.line-contact small{display:block;color:var(--muted);font-size:.72rem}.line-icon{display:block;width:38px;height:38px;border-radius:9px;object-fit:cover}.line-float{position:fixed;right:20px;bottom:20px;z-index:10;display:flex;align-items:center;justify-content:center;padding:5px;border-radius:50%;background:#06c755;color:#fff;box-shadow:0 5px 18px rgba(0,0,0,.18)}.line-float .line-icon{width:46px;height:46px;border-radius:50%}
@media(max-width:700px){.menu-toggle{display:block;position:relative;z-index:7}header nav{display:none;position:absolute;top:62px;left:0;right:0;padding:10px 20px 16px;flex-direction:column;gap:0;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 8px 16px rgba(23,34,31,.08)}header nav.is-open{display:flex}header nav a{padding:11px 0;font-size:.9rem;border-bottom:1px solid var(--line)}header nav a:last-child{border-bottom:0}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-6px) rotate(-45deg)}.line-float{right:14px;bottom:14px}.line-float-label{display:none}.line-contact{margin-top:16px}}
:root{--ink:#17221f;--muted:#60706a;--paper:#f5f4ef;--line:#d9ddd5;--accent:#d96b45;--sage:#dce5dc}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans Thai','DM Sans',sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}.site-header{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,72px);border-bottom:1px solid var(--line);background:rgba(245,244,239,.92);position:sticky;top:0;z-index:5;backdrop-filter:blur(12px)}.brand{font-weight:700;font-size:.95rem;letter-spacing:.01em}.brand span{display:inline-grid;place-items:center;width:26px;height:26px;margin-right:7px;border-radius:50%;background:var(--ink);color:var(--paper);font-family:'DM Sans';font-size:.78rem}nav{display:flex;gap:24px;color:var(--muted);font-size:.82rem}nav a:hover{color:var(--accent)}.hero{min-height:calc(88vh - 68px);display:grid;grid-template-columns:1fr minmax(280px,40%);gap:6vw;align-items:center;padding:clamp(40px,6vw,84px) clamp(20px,8vw,120px);background:var(--sage)}.eyebrow,.section-label{font:700 .65rem 'DM Sans',sans-serif;letter-spacing:.14em;color:var(--accent)}h1,h2{margin:0;font-family:'DM Sans','Noto Sans Thai',sans-serif;font-weight:500;line-height:1.05;letter-spacing:0}h1{font-size:clamp(2.8rem,6.5vw,6.6rem);max-width:620px;margin:14px 0 20px}h2{font-size:clamp(2rem,4vw,4.4rem)}h2 em{font-family:'Noto Sans Thai';font-style:normal;color:var(--accent)}.lead{font-size:clamp(.95rem,1.3vw,1.15rem);max-width:470px;color:#40504a}.button{display:inline-flex;align-items:center;gap:24px;margin-top:22px;padding:10px 17px;border:1px solid var(--ink);font-size:.84rem;transition:.2s}.button:hover{background:var(--ink);color:var(--paper)}.hero-image{margin:0;justify-self:end;max-height:60vh;width:100%;overflow:hidden}.hero-image img{display:block;width:100%;height:100%;max-height:60vh;object-fit:cover;object-position:center}.section{padding:clamp(64px,9vw,120px) clamp(20px,8vw,120px);display:grid;grid-template-columns:minmax(110px,20%) 1fr;gap:6vw;border-bottom:1px solid var(--line)}.about p,.contact p{max-width:540px;color:var(--muted);font-size:.95rem}.note{font-size:.82rem!important;color:var(--ink)!important;margin-top:24px}.gallery{display:block}.gallery-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:34px}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}.gallery-item{margin:0;grid-column:span 4}.gallery-item.item-tall{grid-column:span 5;grid-row:span 2}.gallery-item.item-wide{grid-column:span 7}.gallery-item img{display:block;width:100%;aspect-ratio:1.35;object-fit:cover;filter:saturate(.86);transition:filter .3s,transform .3s}.gallery-item.item-tall img{height:100%;aspect-ratio:auto}.gallery-item:hover img{filter:saturate(1);transform:scale(1.015)}figcaption{padding:8px 0;color:var(--muted);font:500 .68rem 'DM Sans','Noto Sans Thai';letter-spacing:.03em}.contact{background:#e9dfd4}footer{display:flex;justify-content:space-between;padding:20px clamp(20px,8vw,120px);font-size:.74rem;color:var(--muted)}@media(max-width:700px){.site-header{height:62px;padding:0 17px}nav{gap:13px;font-size:.72rem}.hero{min-height:auto;display:flex;flex-direction:column;align-items:stretch;padding:58px 20px 38px;gap:32px}.hero-image{justify-self:auto;max-height:none;aspect-ratio:4/5}.hero-image img{max-height:none}.section{display:block;padding:62px 20px}.section-label{margin-bottom:27px}.gallery-heading{display:block}.gallery-heading h2{margin-top:13px}.gallery-grid{display:block}.gallery-item,.gallery-item.item-tall,.gallery-item.item-wide{margin-bottom:22px}.gallery-item.item-tall img{aspect-ratio:4/5;height:auto}.contact h2{margin-bottom:22px}footer{padding:18px 20px;gap:13px;flex-direction:column}}
