:root{--ink:var(--ip-ink);--blue:var(--ip-blue);--blue-text:var(--ip-blue-text);--blue-bright:var(--ip-blue-bright);--blue-hover:var(--ip-blue-hover);--paper:#f7faff;--line:var(--ip-line)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans Thai',Tahoma,sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}img{display:block;max-width:100%}header{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:15px 5%;background:#f7faffee;backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand{font-size:30px;font-weight:900;color:var(--blue-text);line-height:1.1}.brand small{display:block;font-size:12px;margin-top:7px;color:#63728a;font-weight:400}nav{display:flex;gap:28px;font-size:14px}.nav-cta{border:1px solid var(--blue);color:var(--blue-text);border-radius:30px;padding:9px 18px;font-size:14px}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr 1.15fr;align-items:center;gap:35px;padding:65px 5% 75px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:800;color:var(--blue-text)}h1{font-size:clamp(38px,4.4vw,68px);line-height:1.27;letter-spacing:-2px;margin:22px 0}h1 span{display:block;color:var(--blue-text)}h2{font-size:clamp(28px,3.1vw,44px);line-height:1.4;letter-spacing:-1px;margin:12px 0 25px}h3{font-size:21px;line-height:1.5;margin:16px 0 8px}p{color:#607088}.hero-copy>p{font-size:17px}.actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:25px}.button{border:0;display:inline-flex;justify-content:center;align-items:center;background:var(--blue);color:white;padding:14px 23px;border-radius:40px;font-weight:700}.text-link{border:0;background:none;padding:0;font-weight:700;color:var(--blue-text)}.hero-tags{display:flex;gap:16px;font-size:12px;letter-spacing:1px;margin-top:38px}.hero-art{position:relative;margin:0;transform:rotate(2deg)}.hero-art img{width:100%;height:500px;object-fit:cover;border-radius:120px 20px 20px 20px}.hero-art figcaption{font-size:12px;text-align:right;margin-top:12px}.sticker{position:absolute;bottom:30px;left:-30px;background:#d9f789;border-radius:50%;padding:26px 22px;text-align:center;transform:rotate(-12deg);font-weight:700;box-shadow:0 5px 20px #0001}.ticker{padding:19px 20px;background:var(--blue);color:white;text-align:center;font-size:13px;letter-spacing:2px}.ticker span{margin:0 25px;color:#dcff9c}.section{padding:75px 6%;max-width:1440px;margin:auto}.section-title{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:25px}.section-title p{font-size:14px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}.filters button{background:white;border:1px solid var(--line);padding:9px 20px;border-radius:24px;color:var(--ink)}.filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.gallery article[hidden]{display:none}.gallery button{padding:0;border:0;background:none;width:100%;text-align:left;color:inherit}.gallery img{height:270px;width:100%;object-fit:cover;border-radius:18px;transition:transform .2s}.gallery button:hover img{transform:translateY(-4px)}.gallery small{color:var(--blue-text);font-size:12px;letter-spacing:1px}.gallery h3{margin:12px 0 0}.gallery p{font-size:14px;margin-top:5px}.note{font-size:12px;margin-top:25px}.lavender{background:#eeeafb;border-radius:30px}.three-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.three-grid article{padding:25px 0}.three-grid p{font-size:15px}.number{font-size:14px;border:1px solid currentColor;border-radius:50%;display:inline-grid;place-items:center;width:40px;height:40px;color:var(--blue-text)}.sizes{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.size-preview{height:225px;background:#e8eef9;border-radius:20px;display:grid;place-items:center}.paper{display:grid;place-items:center;background:#fff;box-shadow:5px 10px 15px #17345018;border:1px solid #e5e9ef;color:var(--blue-text);font-weight:800;transform:rotate(-8deg)}.a6{height:170px;width:120px}.a7{height:140px;width:99px}.photo{height:130px;width:84px;border-radius:9px;font-size:13px}.soft{background:#edf4fb;border-radius:30px}.materials{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.materials img{width:100%;height:190px;object-fit:cover;border-radius:16px}.materials p{font-size:14px}.finish-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.finish-grid article{border-top:1px solid var(--line);padding-top:20px}.finish-grid article>span{font-size:38px;color:var(--blue-text)}.finish-grid p{font-size:14px}.dark{background:#172941;color:white;border-radius:30px}.dark .eyebrow,.dark .number{color:#d9f789}.dark p{color:#bbc9de}.brief-section{display:grid;grid-template-columns:1fr 1fr;gap:60px}form{padding:30px;background:white;border:1px solid var(--line);border-radius:22px}label{display:block;font-size:13px;margin-bottom:15px}input,select,textarea{width:100%;border:1px solid #c9d6e8;background:#f8faff;border-radius:9px;padding:10px;color:var(--ink);margin-top:5px;min-width:0}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.total{font-weight:700;color:var(--blue-text)}details{border-bottom:1px solid #ccd9e8;padding:18px 0}summary{cursor:pointer;font-weight:600}details p{font-size:14px}.faq{max-width:950px;padding-top:15px}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding:30px 6%;font-size:13px}dialog{border:0;border-radius:22px;padding:30px;max-width:760px;width:90vw;max-height:90vh;overflow:auto;color:var(--ink)}dialog::backdrop{background:#0a172dcc;backdrop-filter:blur(5px)}.close{position:absolute;top:12px;right:12px;background:white;border:1px solid var(--line);border-radius:50%;width:36px;height:36px;font-size:24px}dialog img{border-radius:12px;max-height:65vh;margin:auto}dialog p{font-size:13px}:focus-visible{outline:3px solid #ff8d49;outline-offset:4px}@media(max-width:850px){nav{display:none}.hero{grid-template-columns:1fr;padding-top:35px}.hero-art{margin:0 15px}.hero-art img{height:370px}.hero-copy{max-width:600px}.gallery,.materials{grid-template-columns:repeat(2,1fr)}.brief-section{grid-template-columns:1fr;gap:20px}.finish-grid{grid-template-columns:repeat(2,1fr)}.section{padding:50px 5%}.section-title{align-items:start;flex-direction:column;gap:0}.gallery img{height:240px}}@media(max-width:520px){h1{font-size:43px}header{padding:13px 5%}.hero-art img{height:300px}.sticker{left:-10px;padding:17px;font-size:12px}.hero-tags{gap:12px}.ticker{font-size:12px}.ticker span{margin:0 8px}.gallery{gap:20px 12px}.gallery img{height:180px}.gallery h3{font-size:17px}.gallery p{font-size:12px}.three-grid{grid-template-columns:1fr;gap:0}.three-grid article{border-bottom:1px solid #bac5d933}.sizes{gap:10px}.size-preview{height:160px}.a6{height:125px;width:88px}.a7{height:105px;width:74px}.photo{height:95px;width:61px;font-size:12px}.sizes h3{font-size:17px}.sizes p{font-size:12px}.materials{gap:25px 15px}.materials img{height:140px}.materials h3{font-size:18px}.materials p{font-size:13px}form{padding:20px}.form-row{grid-template-columns:1fr}footer{flex-wrap:wrap}footer p{order:3;width:100%;margin:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery img{transition:none}}

.set-bullets{margin:8px 0 0;padding-left:18px;font-size:13px}.set-price{margin:8px 0 0;font-weight:700}#setGrid article img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:12px;margin-bottom:10px}.text-link.is-inquiry{color:#0b8a4f;font-weight:700}.text-link.is-inquiry[aria-disabled=true]{opacity:.5;pointer-events:none}.preview-cta{margin:18px 0 0}.preview-cta .text-link{margin-right:14px}

/* Touch targets: at least 44px on phones and touch screens (QA 2026-10-09). Inline links inside sentences are exempt. */
@media (max-width:767px),(pointer:coarse){.text-link,.brand,.nav-cta{display:inline-flex;align-items:center;min-height:44px}summary{display:flex;align-items:center;min-height:44px}select{min-height:44px}footer a{display:inline-flex;align-items:center;min-height:44px}}
