/* clean.css */
/* Loremworks — clean studio homepage */
:root{--orange:#eb6d00;--orange-dark:#b94f00;--ink:#222321;--muted:#6b6d68;--line:#e7e8e3;--soft:#f7f8f5;--font:'Outfit','Noto Sans Thai',sans-serif;--header:94px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:#fff;font-family:var(--font);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;touch-action:manipulation;border:0}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-weight:500}h1,h2{text-wrap:balance}p{text-wrap:pretty}::selection{background:#ffe0c6}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #a84800;outline-offset:5px}input:focus,textarea:focus,select:focus{outline:2px solid var(--orange);outline-offset:2px}[hidden]{display:none!important}.icon-library{position:absolute;width:0;height:0;overflow:hidden}.icon{width:22px;height:22px;flex-shrink:0}.container{width:min(1240px,calc(100% - 112px));margin-inline:auto}.orange-text{color:var(--orange)}.orange-dot{display:inline-block;width:7px;height:7px;background:var(--orange);border-radius:50%;flex-shrink:0}.eyebrow{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:1.65px;font-weight:500;line-height:1.5}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:54px;padding:13px 24px;border-radius:7px;font-size:14px;font-weight:500;line-height:1.5;transition:background .2s,transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px)}.button-orange{background:var(--orange);color:#fff;border-radius:12px}.button-orange:hover{background:#f57b0b;box-shadow:0 5px 18px #eb6d0026}.button-small{min-height:44px;padding:10px 17px;font-size:13px;gap:14px}.button-white{background:#fff;border:1px solid #dedfda}.button-white:hover{background:var(--soft)}.button-ink{background:var(--ink);color:white}.button-ink:hover{background:#3c3e39}.text-link{display:inline-flex;align-items:center;gap:18px;background:none;font-size:14px;font-weight:500;padding:7px 0;line-height:1.6}.text-link:hover{color:var(--orange-dark)}.text-link .icon{width:19px;height:19px;transition:transform .2s}.text-link:hover .icon{transform:translate(2px,-2px)}.skip-link{position:fixed;top:12px;left:20px;transform:translateY(-150%);z-index:100;padding:12px 20px;background:var(--ink);color:#fff;border-radius:6px}.skip-link:focus{transform:translateY(0)}
/* Navigation */
.header{height:var(--header);position:sticky;top:0;background:#ffffffed;backdrop-filter:blur(15px);z-index:30;border-bottom:1px solid #f0f0ed}.header-inner{display:flex;height:100%;align-items:center;justify-content:space-between;gap:26px}.brand{width:181px;flex-shrink:0}.brand img{width:100%;height:auto}.desktop-nav{display:flex;gap:27px;margin-left:auto}.desktop-nav a{font-size:13px;color:#555851;padding:12px 0;transition:color .2s;position:relative}.desktop-nav a:hover,.desktop-nav a.active{color:var(--orange-dark)}.desktop-nav a:after{content:'';position:absolute;left:0;right:0;bottom:6px;height:1px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .2s}.desktop-nav a:hover:after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:21px}.language-toggle{background:transparent;display:flex;align-items:center;gap:7px;font-size:11px;min-height:44px;padding:0 2px;color:#777a73}.language-toggle .active{color:var(--ink);font-weight:600}.language-divider{color:#d1d3cc}.menu-toggle{display:none;position:relative;width:44px;height:44px;background:transparent}.menu-toggle span{position:absolute;width:22px;height:1.5px;left:11px;top:17px;background:var(--ink);transition:transform .2s}.menu-toggle span:last-child{top:25px}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-menu{position:absolute;top:100%;left:0;right:0;padding:16px 28px 28px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 20px 30px #2223210a}.mobile-menu>a{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line);font-size:20px}.mobile-menu>a span{font-size:12px;color:var(--muted)}.mobile-menu .button{margin-top:22px;width:100%}
/* Hero */
.hero{display:grid;grid-template-columns:1.04fr 1fr;align-items:center;gap:24px;min-height:675px;padding-block:64px 65px}.hero-copy{position:relative;z-index:2}.hero .eyebrow{margin-bottom:25px;font-size:10px;letter-spacing:1.6px}.hero h1{font-size:clamp(42px,4.3vw,62px);line-height:1.29;font-weight:500;letter-spacing:-1.95px;margin-left:-3px}.hero-description{color:var(--muted);font-size:15px;line-height:1.95;margin-top:25px;max-width:495px}.hero-actions{display:flex;gap:12px;margin-top:29px}.hero-note{display:flex;gap:12px;align-items:center;font-size:10px;color:#7b7e75;margin-top:31px;letter-spacing:.35px}.note-line{height:1px;width:26px;background:#b6b8b1}.hero-art{position:relative;align-self:center;height:527px;isolation:isolate}.art-stage{position:absolute;inset:0 0 20px 10px;overflow:hidden;border-radius:50% 50% 16px 16px;background:#faf9f6}.hero-sculpture{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}.floating-browser{position:absolute;left:-14px;top:203px;width:298px;background:#fff;border:1px solid #e7e8e3;border-radius:9px;box-shadow:0 18px 50px #3a28151a;transform:rotate(-7deg);overflow:hidden}.mini-browser-bar{display:flex;align-items:center;justify-content:space-between;height:27px;background:#f9faf8;border-bottom:1px solid #eee;font-size:6px;color:#8a8e83;padding:0 10px}.browser-dots{display:flex;gap:3px}.browser-dots i{width:4px;height:4px;border-radius:50%;background:#dbddd6}.browser-dots i:first-child{background:#f6b18d}.mini-browser-bar .icon{height:9px;width:9px}.mini-site{padding:15px 18px 10px}.mini-site-nav{display:flex;align-items:center;justify-content:space-between;font-size:5px}.mini-site-nav b{font-size:12px;letter-spacing:-.3px;font-weight:500}.mini-site-nav b span{font-size:6px;color:var(--orange);vertical-align:top}.mini-site-body{display:flex;gap:10px;padding:20px 0 16px}.mini-site-body>div:first-child{width:55%}.mini-site small{font-size:4px;letter-spacing:1px;display:block;margin-bottom:5px}.mini-site strong{display:block;font-size:27px;line-height:1;letter-spacing:-.7px;font-weight:500}.mini-site strong span{color:var(--orange)}.mini-cta{background:var(--orange);color:#fff;padding:5px 7px;font-size:5px;display:inline-block;margin-top:12px;border-radius:2px}.mini-composition{position:relative;width:45%;background:#eef1e8;border-radius:3px;overflow:hidden}.mini-composition span{position:absolute;width:76px;height:105px;left:21px;top:7px;border-radius:50px 50px 0 0;background:#cad6bd;transform:rotate(20deg)}.mini-composition i{position:absolute;width:72px;height:72px;background:var(--orange);border-radius:50%;left:0;top:44px}.mini-composition b{position:absolute;width:45px;height:45px;background:#eddfb8;border-radius:50%;right:0;top:14px;box-shadow:3px 10px 12px #9e968230}.mini-site-footer{border-top:1px solid var(--line);padding-top:6px;display:flex;justify-content:space-between;font-size:4px;letter-spacing:.6px}.floating-note{position:absolute;right:-5px;bottom:55px;display:flex;gap:11px;align-items:center;background:#fff;border:1px solid #eceee6;border-radius:9px;padding:15px 18px;box-shadow:0 12px 36px #2223210b;transform:rotate(4deg)}.note-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;color:#52765e;background:#eaf2e8}.note-icon .icon{width:16px;height:16px;stroke-width:2}.floating-note strong{display:block;font-size:12px;font-weight:500;line-height:1.6}.floating-note div>span{display:block;font-size:10px;color:var(--muted)}.art-caption{position:absolute;bottom:-8px;left:75px;right:25px;display:flex;align-items:center;justify-content:space-between;font-size:7px;letter-spacing:1.3px;color:#82857a}.art-caption .icon{height:17px;width:17px;color:var(--orange)}
.capabilities-strip{border-block:1px solid var(--line)}.capabilities-strip>.container{display:flex;align-items:center;min-height:105px;gap:48px}.capabilities-strip p{font-size:11px;color:#85877f;line-height:1.65;width:137px;flex-shrink:0;border-right:1px solid var(--line)}.capabilities{display:flex;align-items:center;justify-content:space-between;width:100%;gap:15px;font-size:15px;white-space:nowrap}.capabilities i{font-size:16px;font-style:normal;color:#d4d7ce}
/* Portfolio */
.section{padding-block:103px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:32px}.section-heading .eyebrow,.about-copy .eyebrow,.faq-grid .eyebrow{margin-bottom:18px}h2{font-size:clamp(29px,2.75vw,39px);line-height:1.45;letter-spacing:-1px}.section-description{color:var(--muted);font-size:14px;line-height:1.85;max-width:330px}.section-heading>.text-link{white-space:nowrap;margin-bottom:7px}.work-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:27px}.work-toolbar>p{font-size:14px;color:var(--muted)}.work-filters{display:flex;gap:4px;flex-shrink:0}.filter{border-radius:5px;background:transparent;color:#6f726b;font-size:11px;padding:8px 13px;min-height:36px}.filter.active{background:var(--ink);color:white}.filter:not(.active):hover{background:var(--soft)}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.work-image{position:relative;display:block;width:100%;padding:0;overflow:hidden;aspect-ratio:1.38;border-radius:10px;text-align:left}.work-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.work-image:hover img{transform:scale(1.035)}.architecture{background:#e9e4db}.skincare{background:#e0e8df}.work-badge{position:absolute;top:18px;left:18px;letter-spacing:1.15px;background:#ffffffe8;color:#686e62;font-size:8px;padding:5px 9px;border-radius:4px}.round-arrow{position:absolute;right:18px;bottom:18px;display:grid;place-items:center;width:42px;height:42px;background:#fff;border:1px solid #ffffff80;border-radius:50%;transition:background .2s}.work-image:hover .round-arrow{background:var(--orange);color:#fff}.work-info{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:20px}.work-info h3{font-size:22px;letter-spacing:-.5px;font-weight:450}.work-info p{font-size:12px;color:var(--muted);margin-top:3px}.project-number{font-size:12px;color:#8e9188}.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.tags span{border:1px solid var(--line);padding:3px 9px;border-radius:4px;font-size:9px;color:#6c7065}.concept-note{font-size:10px;color:#777c70;margin-top:27px}
/* Services */
.services-section{background:var(--soft)}.services-section .section-heading{margin-bottom:39px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-card{background:#fff;text-align:left;border:1px solid #e9ebe4;border-radius:8px;padding:28px 28px 21px;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex;flex-direction:column}.service-card:hover{border-color:#e3b98f;transform:translateY(-4px);box-shadow:0 12px 25px #393d3006}.service-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.service-icon{height:32px;width:32px;color:var(--orange);stroke-width:1.45}.service-top>span{font-size:10px;color:#969b90}.service-card h3{font-size:19px;letter-spacing:-.4px;line-height:1.4;font-weight:450}.service-card h4{font-size:13px;font-weight:500;margin-top:7px}.service-card>p{font-size:12px;line-height:1.9;color:var(--muted);margin-top:12px;margin-bottom:27px}.service-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid #eef0e9;padding-top:15px;font-size:9px;color:#7b8073;margin-top:auto}.service-bottom .icon{width:17px;height:17px;color:var(--ink)}.services-foot{display:flex;align-items:center;justify-content:center;gap:18px;font-size:13px;color:var(--muted);margin-top:30px}.services-foot .text-link{color:var(--ink);font-size:13px}
/* About and process */
.about-grid{display:grid;grid-template-columns:.95fr 1fr;gap:90px;align-items:center}.about-art{background:#f5f0e9;border:1px solid #eee7dd;border-radius:10px;padding:39px 42px 31px;min-height:410px;display:flex;flex-direction:column;position:relative;overflow:hidden}.about-art:after{content:'';width:280px;height:280px;position:absolute;right:-85px;top:70px;border:1px solid #dcd4c7;border-radius:50%;z-index:0}.about-art-top{font-size:9px;letter-spacing:2px;color:#706858;position:relative;z-index:1}.about-word{font-size:clamp(35px,3.45vw,50px);line-height:1.35;font-weight:450;letter-spacing:-1.8px;margin-top:36px;position:relative;z-index:1}.about-word span{color:var(--orange)}.about-word span:first-child{color:#8f8a7c}.about-art-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:auto;padding-top:35px;position:relative;z-index:1}.about-spark{height:86px;width:86px;color:var(--orange);stroke-width:4}.about-art-bottom p{font-size:10px;line-height:1.5;color:#80786b}.about-copy h2{font-size:35px;line-height:1.5;margin-bottom:20px}.about-copy>p:not(.eyebrow){font-size:13px;line-height:1.95;color:var(--muted);margin-top:14px}.about-values{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:24px;margin-bottom:18px}.about-values>span{display:flex;align-items:center;gap:7px;font-size:10px}.about-values .icon{width:15px;height:15px;color:var(--orange-dark)}.about-copy>.text-link{font-size:13px}.process-section{border-top:1px solid var(--line);padding-top:80px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;margin-top:49px}.step-number{display:flex;align-items:center;gap:24px;font-size:16px;color:var(--orange);margin-bottom:26px}.step-number span{height:1px;flex:1;background:var(--line)}.step-number>.icon{margin-left:auto;width:20px;height:20px}.process-grid h3{font-size:23px;font-weight:450;letter-spacing:-.5px}.process-grid h4{font-size:12px;margin-top:7px}.process-grid p{font-size:12px;line-height:1.9;color:var(--muted);margin-top:11px}
/* Journal artwork */
.insight-card{min-width:0;width:100%}
.insights-section{background:#f8f9f6}.insights-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.insight-card{padding:0;background:transparent;text-align:left;display:flex;flex-direction:column}.insight-art{height:232px;width:100%;border-radius:8px;position:relative;overflow:hidden;padding:28px;transition:transform .25s}.insight-card:hover .insight-art{transform:translateY(-4px)}.insight-plan{background:#f0e5d7}.insight-seo{background:#e5ecdf}.insight-care{background:#f1eee4}.art-index{position:absolute;left:21px;bottom:15px;font-size:7px;letter-spacing:1.3px;color:#737366}.article-browser{background:#fff9ef;border:1px solid #dacebc;border-radius:5px;width:94%;margin:auto;transform:rotate(-5deg);position:relative;padding:10px 17px 15px;box-shadow:3px 7px 0 #d7c8b373}.article-browser>span{font-size:6px;letter-spacing:1px;display:block;border-bottom:1px solid #e9dfd0;padding-bottom:8px}.article-browser>div{position:absolute;display:flex;gap:3px;right:13px;top:13px}.article-browser i{height:3px;width:3px;border-radius:50%;background:#c7b69e}.article-browser b{font-size:30px;font-weight:450;line-height:1.05;letter-spacing:-1px;display:block;margin-top:15px}.article-browser b span{color:var(--orange)}.article-browser>.icon{position:absolute;width:25px;height:25px;right:18px;bottom:17px;color:var(--orange)}.search-art{padding:6px 0}.search-art-label{font-size:7px;letter-spacing:1.5px;color:#5f7355}.search-art strong{font-size:37px;font-weight:450;letter-spacing:-1.7px;color:#3a573a;display:block;line-height:1.8;white-space:nowrap}.search-art strong>span{font-size:40px;margin-left:10px;color:#78966a}.search-art>div{display:flex;align-items:center;gap:8px;background:#f8fbf3;border:1px solid #cdd8c4;padding:8px 10px;border-radius:5px;font-size:9px;color:#75826a;box-shadow:0 6px 0 #c8d4ba69;transform:rotate(3deg)}.search-art>div>.icon{height:15px;width:15px}.search-art>div>span{margin-left:auto;font-size:15px}.care-art{position:relative}.care-art>svg{position:absolute;right:0;top:6px;height:60px;width:60px;color:#8e9a73;stroke-width:1.2;transform:rotate(9deg)}.care-art strong{font-size:32px;line-height:1.12;font-weight:450;letter-spacing:-1.1px;display:block;margin-top:12px;color:#4a563c}.care-art>div{font-size:9px;margin-top:25px;display:flex;align-items:center;gap:7px;color:#747b68}.care-art i{width:5px;height:5px;border-radius:50%;background:#8b9875}.article-meta{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:8px;letter-spacing:.9px;color:var(--orange-dark);margin-top:23px}.article-meta span{font-size:9px;letter-spacing:0;color:#818679}.insight-card h3{font-size:18px;line-height:1.65;margin-top:9px;margin-bottom:15px;letter-spacing:-.25px;max-width:325px}.insight-card>.text-link{font-size:11px;margin-top:auto;gap:12px}.insight-card>.text-link .icon{height:15px;width:15px}
/* FAQ and contact */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.faq-grid h2{font-size:35px}.faq-grid>div>p:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:18px}.faq-grid>div>.text-link{margin-top:19px;font-size:13px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px;font-weight:450;padding:24px 0}.faq-list summary::-webkit-details-marker{display:none}.faq-plus{height:16px;width:16px;position:relative;flex-shrink:0}.faq-plus:before,.faq-plus:after{content:'';position:absolute;background:var(--ink);width:12px;height:1px;left:2px;top:8px}.faq-plus:after{transform:rotate(90deg);transition:transform .2s}.faq-list details[open] .faq-plus:after{transform:rotate(0)}.faq-list details[open] summary{color:var(--orange-dark)}.faq-list details>p{font-size:13px;line-height:1.95;color:var(--muted);padding:0 30px 25px 0}.contact-section{padding-block:0 76px}.contact-panel{background:#faf4e5;border:1px solid #f0e5cb;border-radius:12px;padding:54px 63px;display:grid;grid-template-columns:1.6fr 1fr;gap:40px;align-items:center;overflow:hidden}.contact-panel .eyebrow{color:#ac500c;font-size:10px;margin-bottom:20px}.contact-panel h2{font-size:42px;line-height:1.45;letter-spacing:-1px}.contact-panel h2>span{color:var(--orange)}.contact-panel p:not(.eyebrow){font-size:13px;color:#817264;margin-top:18px;line-height:1.9}.contact-panel .button{margin-top:26px}.contact-graphic{display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-9deg)}.contact-graphic>svg{width:185px;height:185px;stroke-width:4.8;color:var(--orange)}.contact-graphic>span{font-size:10px;font-weight:500;text-align:center;letter-spacing:2px;line-height:1.5;margin-top:20px;color:#9f642f}
/* Footer */
.footer{border-top:1px solid var(--line);padding-top:56px}.footer-top{display:grid;grid-template-columns:1.6fr .85fr .95fr 1fr;gap:48px;padding-bottom:51px}.footer-brand img{width:171px}.footer-brand p{font-size:19px;line-height:1.4;letter-spacing:-.25px;margin-top:21px}.footer-brand>span{display:block;font-size:10px;color:var(--muted);margin-top:14px}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.footer-links h2{font-size:12px;letter-spacing:0;margin-bottom:10px}.footer-links>a,.footer-links>button{font-size:11px;color:var(--muted);padding:0;background:none;line-height:1.8}.footer-links>a:hover,.footer-links>button:hover{color:var(--orange-dark)}.footer-end>span{font-size:8px;letter-spacing:1px;color:var(--muted)}.footer-end>button{background:none;padding:0 0 6px;display:flex;gap:28px;align-items:center;border-bottom:1px solid #d9dcd3;font-size:30px;letter-spacing:-1px;margin-top:10px}.footer-end>button .icon{width:29px;height:29px;color:var(--orange)}.footer-end p{font-size:10px;line-height:1.65;color:#7d8475;margin-top:18px}.footer-bottom{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:66px;font-size:9px;color:#82887a}.footer-bottom>a{color:var(--ink);font-size:10px}.preview-label{font-size:8px;letter-spacing:.5px}
/* Dialogs */
dialog{border:1px solid var(--line);border-radius:14px;box-shadow:0 30px 100px #0002;color:var(--ink);max-height:calc(100dvh - 56px);padding:44px;width:min(640px,calc(100% - 32px));overscroll-behavior:contain}dialog::backdrop{background:#19201866;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:16px;top:12px;background:#f3f4ef;border-radius:50%;font-size:24px;line-height:1;width:34px;height:34px;z-index:1;display:grid;place-items:center}.dialog-close:hover{background:#e6e9df}.detail-content>img{width:100%;border-radius:7px;margin-bottom:25px}.detail-content>.eyebrow{margin-bottom:15px}.detail-content h2{font-size:30px;margin-bottom:16px;line-height:1.5}.detail-content h3{font-size:16px;margin-top:25px;margin-bottom:7px}.detail-content p,.detail-content li{font-size:14px;color:var(--muted);line-height:1.95}.detail-content p+p{margin-top:13px}.detail-content ul{padding-left:20px}.detail-content>.button{margin-top:26px}.detail-label{font-size:11px!important;color:var(--orange-dark)!important;background:#fff3e7;padding:10px 14px;border-radius:5px;margin-bottom:20px}.brief-dialog .eyebrow{margin-bottom:17px}.brief-dialog h2{font-size:29px}.brief-intro{font-size:13px;color:var(--muted);margin-top:8px;margin-bottom:24px}form{display:flex;flex-direction:column;gap:17px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}form label{display:flex;flex-direction:column;gap:7px;font-size:12px}input,select,textarea{border:1px solid #dbdfd5;border-radius:5px;padding:10px 12px;background:white;color:var(--ink);width:100%;min-width:0;font-size:14px}textarea{resize:vertical;min-height:110px}.form-note{font-size:11px;color:#70766a;line-height:1.8;background:#f3f5ef;border-radius:5px;padding:12px 14px}form>.button{align-self:flex-start}.brief-status{font-size:12px;color:#335d35;line-height:1.8;background:#eef5e9;padding:12px 14px;border-radius:5px}
/* Responsive layouts */
@media(min-width:1500px){.hero{min-height:725px}.hero-art{height:570px}.floating-browser{top:230px;width:315px}.hero h1{font-size:65px}.hero-description{font-size:16px}}
@media(max-width:1190px){.container{width:calc(100% - 72px)}.desktop-nav{gap:18px}.header-inner{gap:22px}.header-actions{gap:14px}.brand{width:158px}.header-cta{padding-inline:13px;gap:8px}.desktop-nav a{font-size:12px}.hero{gap:20px;min-height:625px;padding-block:48px}.hero-art{height:465px}.hero h1{font-size:49px}.hero-actions{gap:8px}.hero-actions .button{padding-inline:17px;font-size:13px;gap:12px}.hero-description{font-size:14px}.floating-browser{width:255px;top:178px}.mini-site strong{font-size:24px}.floating-note{right:-8px;padding:12px;bottom:45px}.floating-note strong{font-size:10px}.floating-note div>span{font-size:9px}.capabilities-strip>.container{gap:24px}.capabilities{font-size:13px;gap:10px}.section{padding-block:84px}.service-card{padding:24px 22px 20px}.service-card h3{font-size:17px}.about-grid{gap:50px}.about-copy h2{font-size:30px}.about-art{padding:32px;min-height:380px}.insight-art{height:215px;padding:26px 20px}.search-art strong{font-size:31px}.care-art strong{font-size:29px}.care-art>svg{width:49px;height:49px}.faq-grid{gap:50px}.footer-top{gap:35px}}
@media(max-width:1000px){:root{--header:80px}.desktop-nav{display:none}.header-actions{margin-left:auto;gap:22px}.menu-toggle{display:block}.header-cta{padding-inline:16px}.hero{grid-template-columns:1.05fr 1fr;min-height:580px;gap:10px}.hero h1{font-size:41px;letter-spacing:-1.5px}.hero .eyebrow{font-size:8px;letter-spacing:1px}.hero-description{font-size:13px}.desktop-break{display:none}.hero-art{height:410px}.floating-browser{width:215px;top:162px;left:-5px}.mini-site{padding:10px 13px 8px}.mini-site-body{padding-block:14px}.mini-site strong{font-size:21px}.mini-composition span{left:10px;width:61px;height:78px}.mini-composition i{width:54px;height:54px;top:35px}.mini-composition b{height:35px;width:35px}.floating-note{right:-9px;bottom:51px;padding:10px;gap:7px}.floating-note strong{font-size:9px}.floating-note div>span{font-size:8px}.note-icon{height:26px;width:26px}.art-caption{left:25px;right:10px;font-size:6px}.hero-actions{flex-wrap:wrap}.hero-actions .button{font-size:12px;padding:12px 15px;min-height:47px;gap:10px}.hero-note{font-size:8px;gap:8px;letter-spacing:0}.capabilities-strip>.container{min-height:90px}.capabilities-strip p{font-size:10px;width:116px}.capabilities{flex-wrap:wrap;justify-content:center;gap:4px 16px;font-size:12px}.capabilities i{font-size:12px}.section-heading h2{font-size:30px}.section-description{font-size:12px;max-width:250px}.work-toolbar>p{font-size:12px}.work-filters{gap:1px}.filter{font-size:10px;padding-inline:10px}.work-grid{gap:23px}.work-info h3{font-size:20px}.work-info p{font-size:11px}.services-grid{grid-template-columns:repeat(2,1fr)}.service-card h3{font-size:20px}.service-card>p{font-size:13px}.about-grid{gap:34px}.about-copy h2{font-size:27px}.about-copy>p:not(.eyebrow){font-size:12px}.about-art{padding:26px;min-height:376px}.about-word{font-size:37px;letter-spacing:-1.4px}.about-spark{width:68px;height:68px}.about-copy .eyebrow{font-size:8px;letter-spacing:1px}.process-grid{gap:24px}.process-grid h3{font-size:21px}.process-grid h4{font-size:11px}.process-grid p{font-size:11px}.insights-grid{gap:18px}.insight-art{height:190px;padding:20px 16px}.article-browser{padding-inline:12px}.article-browser b{font-size:24px}.search-art strong{font-size:26px;letter-spacing:-1px}.search-art strong>span{font-size:27px;margin-left:5px}.search-art>div{font-size:7px;margin-top:11px}.care-art strong{font-size:25px;letter-spacing:-1px}.care-art>svg{width:36px;height:36px;top:1px;right:-3px}.care-art>div{font-size:7px}.insight-card h3{font-size:16px}.article-meta{font-size:7px;letter-spacing:.25px}.article-meta span{font-size:8px}.faq-grid{gap:40px}.faq-grid h2{font-size:30px}.faq-list summary{font-size:12px}.contact-panel{padding:44px;gap:24px}.contact-panel h2{font-size:35px}.contact-graphic>svg{width:150px;height:150px}.footer-top{grid-template-columns:1.4fr .8fr 1fr;gap:35px}.footer-end{display:none}}
@media(max-width:760px){.container{width:calc(100% - 48px)}:root{--header:74px}.header-inner{gap:15px}.brand{width:151px}.header-actions{gap:16px}.header-cta{display:none}.language-toggle{font-size:10px}.hero{grid-template-columns:1fr;gap:34px;padding-block:43px 44px}.hero .eyebrow{font-size:9px;letter-spacing:1.2px;margin-bottom:23px}.hero h1{font-size:clamp(38px,7.3vw,54px);line-height:1.3;letter-spacing:-1.4px}.hero-description{font-size:14px;max-width:430px;margin-top:23px;line-height:1.95}.hero-actions{margin-top:24px;flex-wrap:nowrap;gap:10px}.hero-actions .button{font-size:13px;min-height:51px;padding-inline:19px;gap:16px}.hero-note{font-size:9px;margin-top:24px}.hero-art{height:450px;width:min(100%,490px);justify-self:center;align-self:center;margin-top:5px}.art-stage{inset:0 6px 23px 20px}.floating-browser{width:265px;left:0;top:181px}.mini-site{padding:14px 16px 10px}.mini-site-body{padding-block:19px}.mini-site strong{font-size:27px}.mini-site-nav{font-size:5px}.mini-site small{font-size:5px}.mini-composition i{width:70px;height:70px;top:40px}.mini-composition span{width:79px;height:108px}.mini-composition b{width:43px;height:43px}.floating-note{right:0;bottom:45px;padding:12px 14px;gap:9px}.floating-note strong{font-size:11px}.floating-note div>span{font-size:9px}.note-icon{height:30px;width:30px}.art-caption{font-size:6px;left:45px;right:25px;bottom:0}.capabilities-strip>.container{flex-direction:column;gap:17px;padding-block:25px;align-items:flex-start}.capabilities-strip p{border:0;width:auto;font-size:10px}.capabilities-strip p br{display:none}.capabilities{justify-content:flex-start;gap:9px 16px;font-size:12px}.capabilities i:last-of-type{display:none}.section{padding-block:65px}.section-heading{align-items:flex-start;gap:20px;margin-bottom:24px}.section-heading .eyebrow,.about-copy .eyebrow,.faq-grid .eyebrow{font-size:9px;letter-spacing:1.3px;margin-bottom:15px}h2,.section-heading h2{font-size:28px;letter-spacing:-.7px;line-height:1.5}.section-heading>.text-link{font-size:10px;gap:7px;margin-top:31px}.section-heading>.text-link .icon{width:15px;height:15px}.work-toolbar{flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:23px}.work-toolbar>p{font-size:12px}.work-filters{gap:6px}.filter{font-size:11px;padding:7px 13px;min-height:36px}.work-grid{grid-template-columns:1fr;gap:33px}.work-image{aspect-ratio:1.35}.work-info{margin-top:17px}.work-info h3{font-size:21px}.work-info p{font-size:12px}.tags{margin-top:12px}.tags span{font-size:9px}.concept-note{font-size:10px;line-height:1.8;margin-top:25px}.services-section .section-heading,.process-section .section-heading,.insights-section .section-heading{flex-direction:column;gap:14px}.section-description{font-size:12px;max-width:100%}.section-description br{display:none}.services-grid{gap:12px}.service-card{padding:22px 19px 18px}.service-top{margin-bottom:22px}.service-card h3{font-size:17px}.service-card h4{font-size:12px;line-height:1.8}.service-card>p{font-size:12px;margin-bottom:22px}.service-bottom{font-size:8px;line-height:1.6;gap:10px}.service-bottom .icon{width:16px;height:16px}.services-foot{flex-direction:column;gap:3px;margin-top:25px;font-size:12px}.about-grid{grid-template-columns:1fr;gap:34px}.about-art{min-height:343px;padding:32px}.about-word{font-size:43px;margin-top:24px;line-height:1.25}.about-art:after{right:-36px;top:24px}.about-art-bottom{padding-top:24px}.about-spark{width:65px;height:65px}.about-copy h2{font-size:29px}.about-copy>p:not(.eyebrow){font-size:13px}.about-values{gap:12px 20px;margin-top:20px}.about-values>span{font-size:11px}.process-grid{grid-template-columns:1fr 1fr;gap:35px 26px;margin-top:32px}.step-number{margin-bottom:17px;font-size:15px}.process-grid h3{font-size:22px}.process-grid h4{font-size:12px}.process-grid p{font-size:12px}.insights-grid{grid-template-columns:1fr;gap:35px}.insight-art{height:250px;padding:30px 36px}.article-browser{width:250px;max-width:100%;padding:13px 20px 18px}.article-browser>span{font-size:7px}.article-browser b{font-size:35px}.article-browser .icon{height:30px;width:30px}.search-art{width:280px;max-width:100%;margin:auto}.search-art-label{font-size:9px}.search-art strong{font-size:43px;letter-spacing:-1.8px}.search-art strong>span{font-size:43px;margin-left:12px}.search-art>div{font-size:10px;margin-top:12px}.care-art{width:270px;max-width:100%;margin:auto}.care-art strong{font-size:36px}.care-art>svg{height:60px;width:60px}.care-art>div{font-size:10px}.art-index{font-size:8px}.article-meta{font-size:9px;margin-top:20px}.article-meta span{font-size:10px}.insight-card h3{font-size:19px;max-width:none;margin-bottom:8px}.insight-card>.text-link{font-size:12px}.faq-grid{grid-template-columns:1fr;gap:28px}.faq-grid h2{font-size:29px}.faq-grid>div>p:not(.eyebrow){font-size:13px}.faq-grid>div>p br{display:none}.faq-grid>div>.text-link{margin-top:12px}.faq-list summary{font-size:13px;padding-block:21px}.faq-list details>p{font-size:12px}.contact-section{padding-bottom:49px}.contact-panel{padding:34px 29px;grid-template-columns:1fr;position:relative;gap:0}.contact-panel .eyebrow{font-size:8px;letter-spacing:1.2px}.contact-panel h2{font-size:30px;position:relative;z-index:1}.contact-panel p:not(.eyebrow){font-size:12px;max-width:90%}.contact-panel .button{font-size:12px;padding-inline:19px;min-height:50px;position:relative;z-index:1}.contact-graphic{position:absolute;right:-32px;bottom:-35px;opacity:.2;pointer-events:none}.contact-graphic>svg{width:160px;height:160px}.contact-graphic>span{display:none}.footer{padding-top:39px}.footer-top{grid-template-columns:1fr 1fr;gap:31px 24px;padding-bottom:31px}.footer-brand{grid-column:1/-1}.footer-brand img{width:166px}.footer-brand p{font-size:19px;margin-top:18px}.footer-brand>span{font-size:11px}.footer-links h2{font-size:12px}.footer-links>a,.footer-links>button{font-size:12px}.footer-bottom{flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:8px;padding-block:20px;min-height:75px}.preview-label{order:3;width:100%;font-size:8px}.footer-bottom>a{font-size:9px}dialog{padding:36px 24px 28px;max-height:calc(100dvh - 28px)}.detail-content h2{font-size:25px}.detail-content p,.detail-content li{font-size:13px}.brief-dialog h2{font-size:25px}.form-row{grid-template-columns:1fr;gap:17px}input,textarea,select{font-size:16px}.brief-dialog .eyebrow{font-size:9px}}
@media(max-width:420px){.hero h1{font-size:38px}.hero .eyebrow{font-size:8px;letter-spacing:1px}.hero-actions .button{font-size:11px;padding-inline:14px;gap:12px}.hero-art{height:370px}.floating-browser{width:223px;top:152px;left:-4px}.mini-site{padding:11px 13px 8px}.mini-site-body{padding-block:13px}.mini-site strong{font-size:23px}.mini-composition i{width:58px;height:58px}.floating-note{bottom:35px;padding:10px;right:-4px}.floating-note strong{font-size:9px}.floating-note div>span{font-size:8px}.note-icon{width:27px;height:27px}.art-caption{font-size:5px;left:35px;right:20px}.services-grid{grid-template-columns:1fr}.service-card{padding:25px}.service-top{margin-bottom:19px}.service-card h3{font-size:21px}.service-card h4{font-size:13px}.service-card>p{font-size:13px}.service-bottom{font-size:10px}.hero-note{font-size:8px}.about-word{font-size:38px}.about-art{padding:27px;min-height:325px}.process-grid{gap:30px 22px}.process-grid h3{font-size:20px}.process-grid h4{font-size:11px}.process-grid p{font-size:11px}.contact-panel{padding:30px 23px}.contact-panel h2{font-size:26px}.section-heading>.text-link{font-size:9px}.insight-art{padding-inline:28px}.search-art strong{font-size:38px}.care-art strong{font-size:33px}.care-art>svg{width:52px;height:52px}}
html[lang=en] .hero h1{font-size:clamp(42px,4.4vw,64px);line-height:1.12;letter-spacing:-2px}html[lang=en] .hero-description{max-width:455px}html[lang=en] h2{line-height:1.23;letter-spacing:-1px}html[lang=en] .service-card h4{font-size:13px}html[lang=en] .hero-copy .eyebrow{margin-bottom:30px}html[lang=en] .hero-note{letter-spacing:0}html[lang=en] .hero-actions .button{font-size:13px;gap:14px}html[lang=en] .about-copy h2{line-height:1.3}html[lang=en] .process-grid h4{line-height:1.5}
@media(max-width:1000px) and (min-width:761px){html[lang=en] .hero h1{font-size:43px}html[lang=en] .hero-actions .button{font-size:11px;padding-inline:13px;gap:10px}}
@media(max-width:760px){html[lang=en] .hero h1{font-size:clamp(39px,8.8vw,58px)}html[lang=en] .hero-actions .button{font-size:12px;padding-inline:16px;gap:12px}}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:enter .7s both}.hero-art{animation:enter .9s .1s both}@keyframes enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* pages.css */
/* Shared navigation and layouts for the complete studio website. */
:root{--header:78px}
.header-slot{height:var(--header);position:sticky;top:0;z-index:40;pointer-events:none}
.header-slot .header{position:absolute;top:0;left:0;width:100%;height:var(--header);pointer-events:auto;transition:height .23s ease,box-shadow .23s ease}
.header-sentinel{position:absolute;top:64px;left:0;width:1px;height:1px;pointer-events:none}
.header.is-compact{height:60px;box-shadow:0 3px 20px #22232107}
.header .brand{width:175px;transition:width .23s ease}
.header.is-compact .brand{width:157px}
.header.is-compact .header-cta{min-height:38px;padding-block:8px}
.header-inner{gap:25px}.desktop-nav{gap:26px}.header-actions{gap:20px}
.desktop-nav a[aria-current=page]{color:var(--orange-dark)}
.desktop-nav a[aria-current=page]:after{transform:scaleX(1)}
.language-picker{position:relative}
.language-toggle{gap:7px;color:var(--ink);font-size:12px;min-height:42px;padding:7px 8px;border-radius:6px;white-space:nowrap}
.language-toggle:hover,.language-toggle[aria-expanded=true]{background:var(--soft)}
.language-toggle>.icon{height:17px;width:17px;stroke-width:1.65}
.language-chevron{height:12px;width:12px;stroke-width:1.5;color:#858a7c;transition:transform .2s}
.language-toggle[aria-expanded=true] .language-chevron{transform:rotate(180deg)}
.language-menu{position:absolute;top:calc(100% + 12px);right:0;width:226px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:9px;box-shadow:0 14px 45px #25321c16}
.language-menu-title{font-size:9px;letter-spacing:1.6px;color:#8a9182;padding:9px 12px 10px}
.language-menu>button{display:flex;align-items:center;gap:14px;width:100%;background:transparent;min-height:43px;text-align:left;border-radius:6px;padding:9px 12px;font-family:'Outfit','Noto Sans Thai','Noto Sans SC','Noto Sans JP',sans-serif;font-size:13px}
.language-menu>button:hover,.language-menu>button:focus-visible{background:var(--soft)}
.language-menu>button[aria-checked=true]{background:#fff3e4;color:var(--orange-dark)}
.language-code{margin-left:auto;font-family:'Outfit',sans-serif;font-size:10px;color:#8a8f81}
.language-menu>button>.icon{height:15px;width:15px;visibility:hidden}
.language-menu>button[aria-checked=true]>.icon{visibility:visible}
.mobile-menu a[aria-current=page]{color:var(--orange-dark)}
/* Three projects on wide screens, enough room to see each design. */
.work-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.work-card{min-width:0}.work-image{aspect-ratio:1.35}
.work-info h3{font-size:20px}.work-info p{font-size:11px;line-height:1.85}
.work-info{align-items:flex-start;margin-top:18px}
.project-number{margin-top:6px;font-size:10px}
.work-badge{font-size:7px;left:13px;top:13px;padding:4px 7px}
.round-arrow{width:36px;height:36px;right:14px;bottom:14px}
.round-arrow .icon{width:19px;height:19px}
.tags{gap:5px}.tags span{font-size:8px;padding:3px 7px}
.work-toolbar{gap:24px}.work-filters{flex-wrap:wrap}
.hospitality{background:#e4e5dd}
.section-route{display:flex;justify-content:flex-end;margin-top:30px}
.section-route .text-link{font-size:13px}
body:not([data-page=home]) .section{padding-block:83px}
body:not([data-page=home]) .footer{margin-top:0}
.breadcrumb{display:flex;gap:10px;font-size:10px;color:#898e82;margin-bottom:36px}
.breadcrumb>a:hover{color:var(--orange-dark)}
.breadcrumb>span:last-child{color:#59624f}
.page-hero{padding-block:36px 66px}
.page-hero .eyebrow{font-size:10px;letter-spacing:1.5px;margin-bottom:20px}
.page-hero h1,.contact-page h1{font-size:clamp(36px,3.65vw,52px);font-weight:500;line-height:1.4;letter-spacing:-1.65px}
.page-intro{font-size:15px;color:var(--muted);line-height:1.95;max-width:690px;margin-top:23px}
.page-hero-split{display:grid;grid-template-columns:1.3fr 1fr;gap:90px;align-items:center;padding-bottom:70px}
.page-hero-split .page-intro{max-width:550px}
.page-hero-split h1{font-size:46px}
.page-hero-split .breadcrumb{margin-bottom:44px}
.service-blueprint{min-height:325px;background:#edf1e8;border-radius:12px;position:relative;padding:29px 38px 37px;margin-top:50px}
.blueprint-label{display:block;font-size:9px;color:#7a866e;letter-spacing:1.5px}
.blueprint-window{margin-top:23px;background:#fff;border:1px solid #dfe6d8;box-shadow:6px 9px 0 #c3cdb34a;border-radius:7px;transform:rotate(-5deg);position:relative}
.blueprint-top{height:29px;display:flex;gap:4px;align-items:center;padding:0 13px;border-bottom:1px solid #eef0eb}
.blueprint-top i{height:4px;width:4px;background:#d7ddce;border-radius:50%}
.blueprint-top span{font-size:6px;letter-spacing:.4px;margin-left:auto;color:#89917f}
.blueprint-inside{padding:23px;position:relative;overflow:hidden}
.blueprint-inside>span{font-size:8px;letter-spacing:1.5px}
.blueprint-inside>strong{display:block;font-size:43px;letter-spacing:-1.6px;line-height:1.04;font-weight:450;margin-top:8px;position:relative;z-index:1}
.blueprint-inside>strong span{color:var(--orange)}
.blueprint-blocks{position:absolute;right:20px;top:40px;width:100px;height:125px}
.blueprint-blocks b{position:absolute;right:0;top:0;background:#cfddbe;width:67px;height:110px;border-radius:40px 40px 5px 5px;transform:rotate(20deg)}
.blueprint-blocks i{position:absolute;right:42px;top:50px;background:var(--orange);width:78px;height:78px;border-radius:50%}
.blueprint-blocks span{position:absolute;right:-5px;top:20px;background:#f0deb6;width:40px;height:40px;border-radius:50%}
.blueprint-foot{font-size:7px;letter-spacing:1.2px;padding:10px 23px;border-top:1px solid var(--line);color:#8d9583}
.blueprint-stamp{position:absolute;right:15px;bottom:4px;transform:rotate(4deg);border:1px solid #e0e5d9;display:flex;align-items:center;gap:9px;padding:13px 18px;border-radius:7px;background:white;box-shadow:0 7px 20px #00000008;font-size:11px}
.blueprint-stamp>.icon{width:15px;height:15px;color:#6b8654}
.bundle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px}
.bundle-card{padding:31px;border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;align-items:flex-start}
.bundle-card .eyebrow{font-size:8px;letter-spacing:1.4px;color:#888f7e}
.bundle-card h3{font-size:38px;letter-spacing:-1px;margin-top:25px;font-weight:450}
.bundle-card h4{font-size:14px;margin-top:3px}
.bundle-card>p:not(.eyebrow){font-size:13px;color:var(--muted);line-height:1.9;margin-top:17px}
.bundle-card ul{padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;margin:25px 0 30px;font-size:12px}
.bundle-card li{display:flex;gap:8px;align-items:flex-start}
.bundle-card li>.icon{width:15px;height:15px;color:#789361;margin-top:3px}
.bundle-card>.button{font-size:12px;gap:12px;margin-top:auto;min-height:48px;padding-inline:18px}
.bundle-featured{background:#fbf6eb;border-color:#ead8b9}
.bundle-featured h3{color:var(--orange-dark)}
.collection-section{padding-block:10px 35px}
.collection-toolbar{display:flex;gap:20px;justify-content:space-between;align-items:center;padding-top:28px;border-top:1px solid var(--line)}
.collection-filters{display:flex;gap:5px;flex-wrap:wrap}
.collection-search{display:flex;align-items:center;gap:9px;padding:8px 13px;border:1px solid #e1e5db;border-radius:7px;min-width:275px;background:white}
.collection-search>.icon{width:17px;height:17px;color:#8b937f}
.collection-search input{padding:2px 0;border:0;border-radius:0;outline-offset:6px;font-size:11px;min-width:0;width:100%;background:transparent}
.collection-search input:focus{outline:none}
.collection-search:focus-within{outline:2px solid var(--orange);outline-offset:3px}
.collection-search input::placeholder{color:#969d8a}
.collection-meta{display:flex;align-items:center;gap:5px;font-size:10px;color:#828c77;margin-block:20px}
.empty-state{border:1px dashed #dce3d3;border-radius:10px;padding:60px 24px;text-align:center;background:#fbfcf8}
.empty-state>.icon{width:31px;height:31px;color:#8c9e78}
.empty-state h3{font-size:21px;margin-top:16px}.empty-state p{font-size:13px;color:var(--muted);margin-top:8px}
.empty-state .button{margin-top:23px}
.case-feature{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center;padding:43px;background:#f6f3ed;border:1px solid #ece6db;border-radius:12px}
.case-feature-image img{border-radius:7px;width:100%}
.case-feature-copy .eyebrow{font-size:9px;margin-bottom:20px}
.case-feature-copy h2{font-size:36px;line-height:1.4}
.case-feature-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;margin-top:19px;color:var(--muted)}
.case-feature-copy dl{margin-block:24px;display:flex;flex-direction:column;gap:9px}
.case-feature-copy dl>div{display:grid;grid-template-columns:100px 1fr;gap:15px;align-items:center}
.case-feature-copy dt{font-size:8px;letter-spacing:1px;color:#939785}
.case-feature-copy dd{margin:0;font-size:11px}
.case-feature-copy .button{font-size:12px}
body[data-page=about] .about-section{padding-top:10px}
body[data-page=about] .about-art{min-height:430px}
.values-section{background:#f7f8f3}
.values-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px;margin-top:42px}
.value-card{border-top:1px solid #dfe5d6;padding-top:23px}
.value-card>span{color:var(--orange);font-size:12px}
.value-card h3{font-size:25px;font-weight:450;letter-spacing:-.65px;margin-top:30px}
.value-card h4{font-size:13px;margin-top:8px}
.value-card p{font-size:13px;line-height:1.95;color:var(--muted);margin-top:16px}
.brand-story{display:grid;grid-template-columns:.95fr 1fr;gap:90px;align-items:center}
.brand-story-visual{background:#faf6ed;border:1px solid #eee6d7;padding:64px 50px;border-radius:10px}
.brand-story-visual>img{width:100%}
.brand-story-visual>div{display:flex;align-items:center;justify-content:center;gap:30px;border-top:1px solid #e6dcc9;padding-top:25px;margin-top:35px;font-size:16px}
.brand-story-visual i{font-style:normal;color:var(--orange);font-size:24px}
.brand-story .eyebrow{font-size:9px;margin-bottom:21px}
.brand-story h2{font-size:34px}
.brand-story p:not(.eyebrow){font-size:13px;line-height:1.95;color:var(--muted);margin-top:22px}
.featured-insight{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:38px;border:1px solid var(--line);border-radius:12px;align-items:center;margin-bottom:51px}
.featured-insight>.insight-art,.featured-insight>div{min-width:0}
.featured-insight .insight-art{height:300px}
.featured-insight .article-browser{width:80%;margin-top:27px;padding:15px 22px 24px}
.featured-insight .article-browser b{font-size:46px;margin-top:23px}
.featured-insight .eyebrow{font-size:9px;margin-bottom:21px}
.featured-insight h2{font-size:32px}
.featured-insight p:not(.eyebrow){font-size:13px;line-height:1.9;color:var(--muted);margin-top:19px}
.featured-insight .button{margin-top:24px;font-size:12px}
body[data-page=insights] .collection-section{padding-bottom:85px}
.contact-page{display:grid;grid-template-columns:1fr 1.12fr;gap:95px;padding-block:36px 75px;align-items:start}
.contact-page-intro{position:sticky;top:100px;padding-top:0}
.contact-page-intro>.eyebrow{font-size:9px;margin-bottom:23px}
.contact-page h1{font-size:46px;line-height:1.45}
.contact-page-intro>p:not(.eyebrow){font-size:14px;color:var(--muted);line-height:1.95;margin-top:23px;max-width:440px}
.contact-expect{margin-top:45px}
.contact-expect .eyebrow{font-size:8px;color:#919981;letter-spacing:1.5px;margin-bottom:15px}
.contact-expect>div{display:flex;gap:15px;align-items:center;font-size:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.contact-expect>div>span:first-child{font-size:10px;color:var(--orange);width:19px;flex-shrink:0}
.contact-mini-art{display:flex;gap:24px;align-items:center;margin-top:38px}
.contact-mini-art>.icon{height:53px;width:53px;color:var(--orange);stroke-width:3}
.contact-mini-art>span{font-size:12px;line-height:1.5;color:#7f8870}
.contact-form-panel{border:1px solid #e5e8de;border-radius:12px;background:#fafbf7;padding:35px 37px;margin-top:61px}
.contact-form-panel>.eyebrow{font-size:8px;letter-spacing:1.4px;margin-bottom:14px}
.contact-form-panel h2{font-size:27px;letter-spacing:-.6px}
.contact-form-panel .brief-intro{font-size:12px;margin-bottom:26px}
.contact-form-panel form{gap:18px}.contact-form-panel input,.contact-form-panel select{min-height:45px}
.contact-form-panel input::placeholder,.contact-form-panel textarea::placeholder{font-size:11px;color:#a0a68f}
.contact-form-panel .form-note{font-size:10px;background:#eef1e7}
.contact-form-panel form>.button{width:100%;margin-top:2px;font-size:13px;gap:18px}
.contact-questions{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding-block:42px 68px}
.contact-questions h2{font-size:28px}.contact-questions p{font-size:13px;line-height:1.85;color:var(--muted);margin-top:13px;max-width:630px}
.contact-questions .button{font-size:12px;flex-shrink:0}
html[lang=zh]{--font:'Outfit','Noto Sans SC','Noto Sans Thai',sans-serif}
html[lang=ja]{--font:'Outfit','Noto Sans JP','Noto Sans Thai',sans-serif}
html[lang=zh] h1,html[lang=ja] h1,html[lang=zh] h2,html[lang=ja] h2{letter-spacing:-.025em}
html[lang=zh] .hero h1,html[lang=ja] .hero h1{font-size:54px;line-height:1.45}
html[lang=zh] .hero-description,html[lang=ja] .hero-description{line-height:1.95}
html[lang=en] .page-hero h1,html[lang=en] .contact-page h1{line-height:1.15;letter-spacing:-1.5px}
html[lang=en] .page-intro{line-height:1.85}
@media(max-width:1190px){
 .desktop-nav{gap:19px}.header-inner{gap:16px}.header-actions{gap:12px}.header .brand{width:158px}
 .work-grid{gap:21px}.page-hero-split{gap:45px}.page-hero-split h1,.contact-page h1{font-size:40px}
 .bundle-card{padding:25px}.case-feature{gap:35px;padding:33px}.case-feature-copy h2{font-size:32px}
 .brand-story{gap:55px}.featured-insight{gap:38px;padding:28px}.featured-insight h2{font-size:28px}
 .contact-page{gap:50px}.contact-form-panel{padding:29px}.values-grid{gap:30px}
}
@media(max-width:1099px){
 .work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-info h3{font-size:21px}
 .work-info p{font-size:12px}.tags span{font-size:9px}
 .page-hero-split h1{font-size:36px}.service-blueprint{padding:24px 27px;min-height:300px}
 .blueprint-inside{padding:22px 19px}.blueprint-inside>strong{font-size:35px}.blueprint-blocks{right:10px;transform:scale(.83)}
}
@media(max-width:1000px){
 :root{--header:72px}.header.is-compact{height:58px}.header .brand{width:158px}.header.is-compact .brand{width:146px}
 .header-actions{gap:15px}.header-inner{gap:18px}.language-toggle{font-size:12px}
 .page-hero{padding-bottom:48px}.page-hero h1{font-size:39px}.page-intro{font-size:14px}
 .page-hero-split{gap:32px;grid-template-columns:1.15fr 1fr}.page-hero-split h1{font-size:34px}
 .service-blueprint{margin-top:45px}.blueprint-label{font-size:7px;letter-spacing:1px}
 .bundle-grid{gap:14px}.bundle-card{padding:23px}.bundle-card h3{font-size:32px}.bundle-card>p:not(.eyebrow){font-size:12px}.bundle-card ul{font-size:11px}
 .bundle-card .button{font-size:10px;padding-inline:12px;gap:7px}
 .collection-toolbar{align-items:flex-start;gap:20px}.collection-search{min-width:215px;max-width:250px}.collection-filters{gap:3px}
 .case-feature{gap:28px;padding:27px}.case-feature-copy h2{font-size:28px}.case-feature-copy .eyebrow{font-size:7px}.case-feature-copy>p:not(.eyebrow){font-size:12px}
 .case-feature-copy dl>div{grid-template-columns:80px 1fr}
 .values-grid{gap:25px}.value-card h3{font-size:21px}.value-card p{font-size:12px}
 .brand-story{gap:38px}.brand-story-visual{padding:45px 33px}.brand-story h2{font-size:29px}
 .featured-insight{gap:30px}.featured-insight .insight-art{height:255px}.featured-insight .article-browser{width:95%;margin-top:26px;padding-inline:15px}.featured-insight .article-browser b{font-size:34px}
 .featured-insight h2{font-size:25px}.contact-page{gap:35px;grid-template-columns:1fr 1.15fr}.contact-page h1{font-size:36px}.contact-page-intro>p:not(.eyebrow){font-size:13px}
 .contact-form-panel{padding:25px 23px}.contact-form-panel h2{font-size:24px}
 .contact-expect>div{font-size:11px}.contact-page .form-row{grid-template-columns:1fr}
 html[lang=ja] .hero h1,html[lang=zh] .hero h1{font-size:39px}
}
@media(max-width:760px){
 :root{--header:70px}.header.is-compact{height:58px}.header .brand{width:146px}.header.is-compact .brand{width:140px}.header-actions{gap:8px}
 .language-toggle{font-size:11px;gap:6px;padding:7px 6px;min-height:42px}.language-toggle>.icon{height:16px;width:16px}
 .language-menu{right:-45px;width:223px}.language-menu>button{min-height:45px}
 .hero{padding-top:40px}.work-grid{gap:23px}.work-toolbar{gap:16px}.work-filters{gap:4px}
 body:not([data-page=home]) .section{padding-block:59px}
 .section-route{justify-content:flex-start;margin-top:24px}
 .breadcrumb{font-size:10px;margin-bottom:29px}.page-hero{padding-block:28px 42px}
 .page-hero .eyebrow{font-size:8px;letter-spacing:1.2px;margin-bottom:19px}
 .page-hero h1,.page-hero-split h1,.contact-page h1{font-size:35px;line-height:1.4;letter-spacing:-1px}
 .page-intro{font-size:13px;line-height:1.95;margin-top:20px;max-width:100%}
 .page-hero-split{grid-template-columns:1fr;gap:30px}.page-hero-split .breadcrumb{margin-bottom:29px}
 .service-blueprint{max-width:420px;width:100%;margin:0 auto 7px;padding:26px 35px 35px;min-height:300px}
 .blueprint-window{margin-top:20px}.blueprint-inside>strong{font-size:43px}.blueprint-blocks{right:23px;transform:scale(1)}
 .blueprint-stamp{font-size:10px;bottom:0;right:14px}
 .bundle-grid{grid-template-columns:1fr;gap:17px}.bundle-card{padding:29px}
 .bundle-card h3{margin-top:20px;font-size:36px}.bundle-card h4{font-size:14px}
 .bundle-card>p:not(.eyebrow){font-size:13px}.bundle-card ul{font-size:13px;margin-block:22px 25px;gap:11px}
 .bundle-card .button{font-size:12px;gap:14px;padding-inline:18px}
 .collection-toolbar{flex-direction:column;align-items:stretch;padding-top:22px;gap:19px}
 .collection-search{min-width:0;max-width:none;min-height:44px}.collection-search input{font-size:13px}
 .collection-filters{gap:4px}.collection-filters .filter{font-size:10px;padding-inline:10px}
 .collection-meta{margin-block:17px;font-size:10px}.collection-section{padding-top:0}
 .case-feature{grid-template-columns:1fr;padding:23px;gap:30px}
 .case-feature-copy .eyebrow{font-size:8px}.case-feature-copy h2{font-size:29px}
 .case-feature-copy>p:not(.eyebrow){font-size:13px}.case-feature-copy dl>div{grid-template-columns:90px 1fr}.case-feature-copy .button{font-size:12px;min-height:49px}
 body[data-page=about] .about-section{padding-top:0}
 body[data-page=about] .about-art{min-height:330px}
 .values-grid{grid-template-columns:1fr;gap:30px;margin-top:28px}.value-card{padding-top:20px}
 .value-card h3{font-size:26px;margin-top:20px}.value-card h4{font-size:13px}.value-card p{font-size:13px;margin-top:13px}
 .brand-story{grid-template-columns:1fr;gap:31px}
 .brand-story-visual{padding:50px 35px}.brand-story h2{font-size:29px}.brand-story .eyebrow{font-size:8px}
 .featured-insight{grid-template-columns:1fr;padding:22px;gap:27px;margin-bottom:40px}
 .featured-insight .insight-art{height:245px;padding:19px}
 .featured-insight .article-browser{width:92%;margin-top:21px;padding:14px 16px 24px}
 .featured-insight .article-browser b{font-size:35px}
 .featured-insight h2{font-size:25px;line-height:1.55}.featured-insight .eyebrow{font-size:8px;margin-bottom:17px}
 .featured-insight p:not(.eyebrow){font-size:13px;margin-top:16px}.featured-insight .button{margin-top:19px}
 body[data-page=insights] .collection-section{padding-bottom:60px}
 .contact-page{grid-template-columns:1fr;gap:33px;padding-block:28px 49px}
 .contact-page-intro{position:static}.contact-page-intro>.eyebrow{font-size:8px;margin-bottom:18px}
 .contact-page-intro>p:not(.eyebrow){font-size:13px;margin-top:20px}
 .contact-expect{margin-top:28px}.contact-expect>div{font-size:12px}.contact-mini-art{display:none}
 .contact-form-panel{margin-top:0;padding:26px 22px}.contact-form-panel h2{font-size:24px}
 .contact-form-panel input,.contact-form-panel select,.contact-form-panel textarea{font-size:16px}
 .contact-form-panel form{gap:17px}.contact-form-panel form>.button{font-size:12px}
 .contact-form-panel .form-note{font-size:10px;line-height:1.85}
 .contact-questions{flex-direction:column;align-items:flex-start;padding-block:31px 49px;gap:21px}
 .contact-questions h2{font-size:25px}.contact-questions p{font-size:12px}
 html[lang=zh] .hero h1,html[lang=ja] .hero h1{font-size:37px;line-height:1.45}
 html[lang=zh] .page-hero h1,html[lang=ja] .page-hero h1{font-size:33px}
}
@media(max-width:640px){
 .work-grid{grid-template-columns:minmax(0,1fr)}
 .work-info h3{font-size:21px}.work-info p{font-size:12px}.work-badge{font-size:7px}.tags span{font-size:9px}
 .round-arrow{width:38px;height:38px}
}
@media(max-width:360px){
 .header-inner{gap:5px}.header .brand{width:126px}.header.is-compact .brand{width:122px}.header-actions{gap:2px}
 .language-toggle{font-size:10px;padding-inline:4px;gap:4px}.language-toggle>.icon{display:none}
 .language-menu{right:-43px;width:218px}
 .page-hero h1,.page-hero-split h1,.contact-page h1{font-size:30px}
 .blueprint-blocks{right:5px;transform:scale(.85)}.blueprint-inside>strong{font-size:37px}
 .featured-insight{padding:17px}.featured-insight .insight-art{padding:14px;height:226px}
 .featured-insight .article-browser b{font-size:29px}
 .contact-form-panel{padding:25px 18px}.contact-form-panel h2{font-size:21px}
}
/* Keep navigation and dialog controls reachable on short/touch screens. */
.header{--current-header:var(--header)}
.header.is-compact{--current-header:60px}
.mobile-menu{max-height:calc(100dvh - var(--current-header) - env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain}
.language-menu{max-height:calc(100dvh - var(--current-header) - 24px);overflow-y:auto;overscroll-behavior:contain}
dialog{padding-top:0}
.dialog-toolbar{position:sticky;top:0;z-index:3;display:flex;justify-content:flex-end;margin:0 -44px 12px;padding:12px 16px 8px;background:#fff}
.dialog-close{position:static;width:44px;height:44px;margin:0;flex-shrink:0}
@media(max-width:1000px){
 .header.is-compact{--current-header:58px}
 .language-toggle,.header.is-compact .header-cta,.filter{min-height:44px}
 .text-link{min-height:44px}
 .footer-links>a,.footer-links>button{display:flex;align-items:center;min-height:44px}
 .footer-links{gap:2px}.footer-bottom>a{display:inline-flex;align-items:center;min-height:44px}
 input,textarea,select,.collection-search input{font-size:16px}
}
@media(max-width:760px){
 .dialog-toolbar{margin-inline:-24px}
}
@media(min-width:761px) and (max-width:1000px){
 .process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
 .process-grid h4,.process-grid p{font-size:12px}
 .insights-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px}
 .insights-grid .insight-art{height:225px}
 .insights-grid .article-browser b{font-size:30px}
 .insights-grid .search-art strong,.insights-grid .care-art strong{font-size:30px}
}
@media(min-width:641px) and (max-width:900px){
 .contact-page{grid-template-columns:minmax(0,1fr);gap:38px}
 .contact-page-intro{position:static}
 .contact-page-intro>p:not(.eyebrow){max-width:590px}
 .contact-mini-art{display:none}
 .contact-form-panel{margin-top:0;padding:32px}
 .contact-page .form-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){.header-slot .header,.header .brand{transition:none}}

/* structure.css */
/* Thai content architecture: complete pages, readable details, and direct links. */
html{scroll-padding-top:92px}
:where(section[id],div[id]){scroll-margin-top:92px}
.eyebrow{letter-spacing:.06em}
.desktop-nav{align-items:center;gap:27px}
.nav-service{display:flex;align-items:center;position:relative;gap:4px}
.nav-disclosure{display:grid;place-items:center;width:28px;height:40px;background:transparent;border-radius:5px}
.nav-disclosure>.icon{height:14px;width:14px}
.nav-disclosure:hover,.nav-disclosure[aria-expanded=true]{background:var(--soft)}
.services-menu{position:absolute;top:calc(100% + 13px);left:-32px;width:560px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 50px #20291b16;display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;max-height:calc(100dvh - 100px);overflow:auto}
.services-menu>p{grid-column:1/-1;font-size:11px;color:var(--muted);margin:0 10px 12px}
.desktop-nav .services-menu>a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 10px;border-radius:5px;font-size:12px}
.desktop-nav .services-menu>a:after{display:none}
.desktop-nav .services-menu>a:hover{background:#faf4e7}
.services-menu .icon{width:15px;height:15px}
.services-menu{width:610px;left:-132px;gap:22px 24px;padding:25px}
.services-menu>p{margin-bottom:0}
.service-menu-group{min-width:0}
.service-menu-group>p{font-size:10px;color:var(--muted);padding:0 9px 8px;border-bottom:1px solid var(--line);margin-bottom:5px}
.desktop-nav .service-menu-group>a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;padding:10px 9px;font-size:11px;line-height:1.7;border-radius:5px}
.desktop-nav .service-menu-group>a:after{display:none}
.service-menu-group>a:hover,.service-menu-group>a[aria-current=page]{background:#fff3e4}
.service-menu-group .icon{flex-shrink:0;width:13px;height:13px}
.service-group-nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:45px}
.service-group-nav>a{padding:12px 17px;border:1px solid #dbe0d3;border-radius:7px;background:#fff;font-size:12px;line-height:1.75;min-height:44px}
.service-group-nav>a:hover{color:var(--orange-dark);border-color:#b9c5a9}
.service-category{margin-top:42px;padding-top:33px;border-top:1px solid #e0e5d8}
.service-category-heading{display:flex;gap:18px;align-items:baseline;margin-bottom:24px}
.service-category-heading>span{font-size:11px;color:var(--orange-dark)}
.service-category-heading h3{font-size:25px;font-weight:500;line-height:1.6;letter-spacing:-.6px}
.service-category-heading p{font-size:13px;color:var(--muted);line-height:1.9;margin-top:7px}
.service-category .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-category .service-card h4{font-size:22px;line-height:1.6;font-weight:500;letter-spacing:-.4px;margin-bottom:11px}
.primary-services.primary-services-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.primary-services-three .service-card{padding:30px 27px 24px}
.primary-services-three .service-card h3{font-size:23px;line-height:1.65}
.primary-services-three .service-card>p{font-size:13px}
.primary-services-three .service-card:nth-child(3){background:#fff;border-color:var(--line)}
.expertise-strip{display:flex;align-items:center;gap:25px;padding-block:29px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-block:10px 30px}
.expertise-strip>div:first-child{display:grid;place-items:center;width:58px;height:58px;flex-shrink:0;background:#edf2e6;border-radius:50%;color:#526542}
.expertise-strip>div:first-child .icon{width:28px;height:28px}
.expertise-strip h2{font-size:21px;line-height:1.6;letter-spacing:-.4px;font-weight:500}
.expertise-strip p{font-size:13px;line-height:1.9;color:var(--muted);margin-top:7px;max-width:760px}
.expertise-strip>.text-link{font-size:12px;flex-shrink:0;margin-left:auto}
.expertise-section{display:grid;grid-template-columns:1.35fr 1fr;gap:100px;align-items:start;border-top:1px solid var(--line)}
.expertise-section h2{font-size:36px;line-height:1.55;letter-spacing:-.9px;font-weight:500}
.expertise-section .expertise-role{font-size:12px;color:var(--orange-dark);margin-top:30px}
.expertise-section p:not(.eyebrow):not(.expertise-role){font-size:14px;line-height:2;color:var(--muted);margin-top:16px}
.expertise-section .text-link{margin-top:25px;font-size:13px}
.credential-list{display:flex;flex-direction:column;gap:18px;padding-top:12px}
.credential-list article{border:1px solid #dce5d0;border-radius:12px;background:#f0f4e9;padding:30px}
.credential-list article:nth-child(2){background:#fbf7ed;border-color:#eadcc6}
.credential-list article>span{font-size:11px;color:var(--muted)}
.credential-list h3{font-family:'Outfit',sans-serif;font-size:27px;font-weight:500;line-height:1.5;margin-top:15px}
.credential-list a{font-size:12px;margin-top:16px;display:inline-block}
.expertise-section .credential-list>p{font-size:11px!important;line-height:1.9;margin-top:0!important}
.service-assurance{padding-left:21px;border-left:2px solid #dce5d0;margin-top:30px}
.service-assurance h3{font-size:18px;margin:0}
.service-assurance p{font-size:13px;margin-top:10px}
.service-assurance a{font-size:12px;display:inline-block;margin-top:13px}
@media(max-width:1100px){.expertise-section{gap:50px}.primary-services-three .service-card{padding:25px 22px}.primary-services-three .service-card h3{font-size:20px}.expertise-strip{flex-wrap:wrap}.expertise-strip>div:nth-child(2){flex:1}.expertise-strip>.text-link{margin-left:83px}}
@media(max-width:760px){.primary-services.primary-services-three{grid-template-columns:1fr}.primary-services-three .service-card{padding:28px}.primary-services-three .service-card h3{font-size:24px}.expertise-section{grid-template-columns:1fr;gap:28px}.expertise-section h2{font-size:30px}.expertise-strip{gap:18px}.expertise-strip h2{font-size:19px}.expertise-strip>.text-link{margin-left:76px}}
@media(max-width:640px){.service-group-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:28px}.service-group-nav>a{font-size:10px;padding:12px 10px}.service-category{margin-top:30px;padding-top:25px}.service-category .services-grid{grid-template-columns:1fr}.service-category-heading{gap:12px}.service-category-heading h3{font-size:22px}.service-category-heading p{font-size:12px}.service-category .service-card h4{font-size:21px}.expertise-strip{align-items:flex-start;padding-block:25px}.expertise-strip>div:first-child{width:42px;height:42px}.expertise-strip>div:first-child .icon{width:23px;height:23px}.expertise-strip h2{font-size:18px}.expertise-strip p{font-size:12px}.expertise-strip>.text-link{margin-left:60px}.expertise-section h2{font-size:27px}.expertise-section p:not(.eyebrow):not(.expertise-role){font-size:13px}.credential-list article{padding:24px}.credential-list h3{font-size:25px}.service-assurance{padding-left:16px}}
.noscript-nav{display:flex;gap:16px;flex-wrap:wrap;padding-block:20px}
html:not(.js) .nav-disclosure,html:not(.js) .menu-toggle,html:not(.js) .collection-toolbar,html:not(.js) .collection-meta,html:not(.js) .language-picker{display:none}
.language-toggle{display:flex;align-items:center;background:transparent;min-height:44px}
.language-menu{width:254px}
.language-menu>a,.language-menu>button{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px 12px;border-radius:6px;font-size:13px;text-align:left}
.language-menu>a:hover,.language-menu>a:focus-visible{background:var(--soft)}
.language-menu>a[aria-current]{color:var(--orange-dark);background:#fff3e4}
.language-menu>a>.icon{width:15px;height:15px}
.language-menu>button:disabled{color:var(--muted);opacity:.7;cursor:default;background:transparent}
.language-soon{font-size:9px;white-space:nowrap}
.language-menu-note{padding:12px 12px 4px;border-top:1px solid var(--line);margin:8px 0 0;font-size:10px;color:var(--muted)}
.button:disabled{cursor:not-allowed;background:#e7e8e3;color:#777b70;transform:none;box-shadow:none}
input:disabled{background:var(--soft);color:var(--muted);cursor:not-allowed}
input[aria-invalid=true]{border-color:#a84220}
.hero .hero-description{font-size:15px}
.hero h1{font-size:clamp(39px,4.1vw,59px);line-height:1.4}
.hero-note{letter-spacing:0;font-size:10px}
.primary-services{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:32px}
.primary-services .service-card{padding:35px 36px 27px;background:#fffaf0;border-color:#eadcc6}
.primary-services .service-card:nth-child(2){background:#f0f4e9;border-color:#dce5d0}
.primary-services .service-icon{width:40px;height:40px}
.primary-services .service-card h3{font-size:27px}
.primary-services .service-card>p{font-size:14px;max-width:440px}
.primary-services .service-top{margin-bottom:33px}
.service-group-label{font-size:12px;color:#757e68;margin-bottom:17px}
.services-grid .service-card h3{font-size:19px;line-height:1.6}
.services-grid .service-card>p{font-size:13px}
.service-card{min-width:0;text-decoration:none}
.service-bottom{font-size:10px}
.work-intro{font-size:14px;color:var(--muted);margin-bottom:28px}
.work-badge{letter-spacing:.02em;font-size:9px}
.work-info h3 a:hover{color:var(--orange-dark)}
.tags{flex-wrap:wrap}.tags span{font-size:10px}
.insight-card{text-align:left;min-width:0}
.insight-visual-link{display:block}
.insight-card .insight-art{transition:transform .25s}
.insight-visual-link:hover .insight-art{transform:translateY(-3px)}
.article-browser b{font-family:var(--font);font-size:30px;line-height:1.4;letter-spacing:-.8px}
.article-browser>span,.art-index,.article-meta{letter-spacing:.03em}
.care-art strong{font-family:var(--font);font-size:31px;line-height:1.5}
.article-meta{font-size:10px}
.insight-card h3{font-size:18px;line-height:1.7}
.insight-card h3 a:hover{color:var(--orange-dark)}
.featured-insight .article-browser b{font-size:35px}
.featured-insight .eyebrow{font-size:11px}
.featured-insight h2{line-height:1.6}
body:not([data-page=home]) .page-hero{padding-bottom:54px}
.page-hero h1{line-height:1.45;font-size:clamp(34px,3.45vw,50px);letter-spacing:-1.35px}
.page-hero .eyebrow{font-size:11px;letter-spacing:.04em}
.page-hero .page-intro{max-width:760px;font-size:15px;line-height:2}
.breadcrumb{font-size:11px;flex-wrap:wrap}
.breadcrumb>span:last-child{max-width:100%;overflow-wrap:anywhere}
.page-hero-split{grid-template-columns:1.25fr 1fr;gap:65px}
.page-hero-split .page-intro{max-width:590px}
.service-detail-art{background:#edf2e6;border:1px solid #e2e9d9;border-radius:16px;padding:32px 38px 25px;min-height:330px;display:flex;flex-direction:column;margin-top:58px;position:relative;overflow:hidden}
.service-detail-art:after{content:'';width:210px;height:210px;border:1px solid #d8e2cb;border-radius:50%;position:absolute;right:-60px;top:28px}
.service-detail-art>span{font-size:9px;letter-spacing:1.5px;color:#839071}
.service-detail-icon{width:90px;height:90px;color:var(--orange);margin:34px 0 25px;stroke-width:1.2}
.service-detail-art>p{font-size:24px;line-height:1.55;letter-spacing:-.65px;max-width:350px;position:relative;z-index:1}
.service-detail-art>div{font-size:9px;margin-top:25px;padding-top:17px;border-top:1px solid #d6dfcc;display:flex;gap:10px;color:#7e8a70}
.service-detail-art>div>span{color:var(--orange)}
.service-lead-actions{display:flex;align-items:center;gap:25px;margin-bottom:65px}
.reading-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:90px;align-items:start;padding-block:36px 30px;border-top:1px solid var(--line)}
.page-toc{position:sticky;top:92px;display:flex;flex-direction:column;gap:3px;padding-right:20px;max-height:calc(100dvh - 110px);overflow-y:auto}
.page-toc>p{font-size:10px;letter-spacing:.06em;color:#91977f;margin:5px 0 17px}
.page-toc>a{font-size:12px;line-height:1.75;padding:10px 0;color:#737c65}
.page-toc>a:hover{color:var(--orange-dark)}
.page-toc>.text-link{border-top:1px solid var(--line);margin-top:20px;padding-top:18px;color:var(--ink)}
.reading-content{min-width:0;max-width:800px}
.reading-content>section{padding:24px 0 49px;border-bottom:1px solid var(--line);margin-bottom:25px}
.reading-content>section:last-child{border:0}
.section-counter{display:block;font-size:10px;color:var(--orange-dark);letter-spacing:.05em;margin-bottom:19px}
.reading-content h2{font-size:31px;line-height:1.65;letter-spacing:-.7px;text-wrap:pretty}
.reading-content h3{font-size:20px;line-height:1.65;margin-top:29px}
.reading-content p{font-size:15px;line-height:2.05;color:#71766b;margin-top:18px;text-wrap:pretty}
.reading-content ul{padding-left:23px;font-size:15px;line-height:2.05;color:#71766b;margin:20px 0 0}
.reading-content li{padding-left:4px;margin-bottom:10px}
.reading-content li::marker{color:#97a482}
.outcome-note{display:flex;gap:14px;align-items:flex-start;background:#f2f5ec;padding:21px 24px;border-radius:8px;margin-top:26px}
.outcome-note>.icon{color:#789061;margin-top:5px}
.outcome-note>p{margin:0;font-size:14px}
.deliverables{margin-top:27px}
.deliverables>article{display:flex;gap:24px;padding:25px 0;border-top:1px solid var(--line)}
.deliverables>article>span{font-size:11px;color:#8d997e;min-width:24px;padding-top:5px}
.deliverables h3{margin:0;font-size:21px}.deliverables p{margin-top:9px;font-size:14px}
.checklist-box{background:#fbf7ed;border:1px solid #eee3cd!important;border-radius:10px;padding:28px!important;margin-top:28px}
.checklist-box h3{margin:0}.checklist-box>.button{margin-top:24px}
.reading-content .faq-list{margin-top:23px}.reading-content .faq-list summary{font-size:15px}
.reading-content .faq-list p{font-size:14px;margin:0;padding-right:15px}
.related-services{padding-block:0 66px}.related-services>h2{font-size:25px}
.related-services>div{display:flex;gap:20px 36px;flex-wrap:wrap;margin-top:16px}
.source-links{padding-block:20px}
.source-links>a{display:block;font-size:12px;line-height:1.8;padding:9px 0;color:var(--orange-dark);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.source-links>p{font-size:11px;margin-bottom:9px}
.project-cover>img{width:100%;max-height:710px;object-fit:cover;border-radius:12px}
.project-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding-block:28px 39px}
.project-facts>div{display:flex;flex-direction:column;gap:8px}
.project-facts span{font-size:10px;color:#8a927e}.project-facts strong{font-size:13px;font-weight:450}
.article-byline{display:flex;gap:24px;font-size:11px;color:#8b917f;padding-block:0 30px}
.article-layout{grid-template-columns:260px minmax(0,1fr);gap:75px}
.article-layout .reading-content>section:not(.checklist-box){padding-bottom:39px}
.article-layout .reading-content h2{font-size:29px}
.article-service{padding:25px 0}.article-service>p{font-size:11px;color:#8d9581}
.trust-section .values-grid{margin-top:15px}
.value-card h3{line-height:1.6}
.bundle-card h3{font-size:30px;line-height:1.55;margin-top:24px}
.bundle-card h4{margin-top:18px;font-size:13px;color:#616a56;line-height:1.85}
.bundle-card>.button{margin-top:26px}
.process-grid h3{font-size:25px;line-height:1.5;letter-spacing:-.5px}
.contact-page h1{font-size:44px;line-height:1.6}
.contact-page-intro>p:not(.eyebrow){max-width:530px}
.contact-form-panel{scroll-margin-top:90px}
.contact-form-panel form{gap:21px}
form label{position:relative}
.field-required{position:absolute;right:0;top:0;font-size:9px;color:#909681}
.brief-extra{font-size:12px;border-top:1px solid var(--line);padding-top:15px}
.brief-extra>summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;color:#606957;min-height:40px}
.brief-extra[open]>summary{margin-bottom:17px}
.brief-extra .form-row{margin-bottom:17px}
.contact-channels{display:flex;flex-direction:column;gap:10px;margin-top:30px}
.contact-channels>a{color:var(--orange-dark);text-decoration:underline;overflow-wrap:anywhere}
.footer-end>span{display:block;text-transform:uppercase;font-size:9px;letter-spacing:1.15px;line-height:1.8}
.footer-end>.text-link{display:flex;justify-content:space-between;gap:24px;font-size:32px;letter-spacing:-1px;margin-top:22px;padding-bottom:16px;border-bottom:1px solid #d9dcd3;width:100%;max-width:228px;line-height:1.5}
.footer-end>.text-link>.icon{color:var(--orange);width:30px;height:30px;flex-shrink:0}
.footer-end p{font-size:12px;line-height:1.8;margin-top:21px}
.footer-brand p{font-family:var(--font);font-size:21px;line-height:1.6}
.footer-links>a{line-height:1.9}
@media(max-width:1000px){.footer-end{display:block;grid-column:1/-1;padding-top:12px}.footer-end>.text-link{max-width:240px}.footer-end>span{font-size:10px}}
.related-section .section-heading{align-items:center}
@media(max-width:1190px){
 .desktop-nav{gap:21px}.hero-note{font-size:9px}
 .reading-layout{gap:55px;grid-template-columns:210px minmax(0,1fr)}
 .article-layout{grid-template-columns:230px minmax(0,1fr)}
 .page-hero-split{gap:42px}.service-detail-art{padding:28px}
 .primary-services .service-card{padding:29px}.primary-services .service-card h3{font-size:24px}
 .bundle-card h3{font-size:25px}.contact-page h1{font-size:39px}
}
@media(max-width:1000px){
 .desktop-nav{display:none}
 .service-detail-art{min-height:300px}.service-detail-art>p{font-size:21px}
 .service-detail-art>div{font-size:8px;gap:7px}
 .reading-layout,.article-layout{grid-template-columns:180px minmax(0,1fr);gap:32px}
 .reading-content h2,.article-layout .reading-content h2{font-size:26px}
 .reading-content p,.reading-content ul{font-size:14px}
 .page-toc{padding-right:8px}.page-toc>a{font-size:11px}
 .primary-services{gap:18px}.primary-services .service-card h3{font-size:22px}
 .article-browser b{font-size:28px}
 .hero h1{font-size:40px}.hero .hero-description{font-size:13px}.hero-note{font-size:8px;line-height:1.85}
 .project-cover>img{max-height:550px}.bundle-card{padding:23px}
 .process-grid h3{font-size:22px}
 .contact-page h1{font-size:36px}
}
@media(max-width:760px){
 .hero h1{font-size:clamp(35px,7.7vw,49px);line-height:1.45;letter-spacing:-1.15px}
 .hero .hero-description{font-size:14px}.hero-note{font-size:9px}
 .hero-actions .button{font-size:12px;gap:10px;padding-inline:16px}
 .primary-services{grid-template-columns:1fr;gap:16px;margin-bottom:25px}
 .primary-services .service-card{padding:27px}.primary-services .service-card h3{font-size:25px}
 .primary-services .service-top{margin-bottom:24px}
 .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .services-grid .service-card h3{font-size:19px}.services-grid .service-card>p{font-size:13px}
 .service-bottom{font-size:10px;line-height:1.75}
 .page-hero h1{font-size:34px;letter-spacing:-.8px}
 .page-hero .page-intro{font-size:14px;line-height:2}
 .page-hero .eyebrow{font-size:10px}
 .page-hero-split{grid-template-columns:1fr;gap:25px}
 body:not([data-page=home]) .page-hero{padding-bottom:36px}
 .service-detail-art{margin-top:0;min-height:250px;padding:25px 28px}
 .service-detail-icon{width:70px;height:70px;margin:24px 0 16px}
 .service-detail-art>p{font-size:24px;max-width:390px}.service-detail-art>div{font-size:9px;margin-top:20px}
 .service-lead-actions{margin-bottom:36px;gap:16px}
 .service-lead-actions>.button{font-size:13px;gap:12px;padding-inline:20px}
 .service-lead-actions>.text-link{font-size:12px;gap:10px}
 .reading-layout,.article-layout{grid-template-columns:1fr;gap:21px;padding-top:23px}
 .page-toc{position:static;max-height:none;padding:16px 20px;background:#f6f8f1;border:1px solid #e7ecdf;border-radius:8px;display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
 .page-toc>p{grid-column:1/-1;margin:0 0 8px}
 .page-toc>a{font-size:11px;min-height:44px;padding:10px 0}
 .page-toc>.text-link{grid-column:1/-1;margin-top:7px;padding-top:11px;justify-self:start}
 .reading-content>section{padding-top:16px;padding-bottom:34px;margin-bottom:18px}
 .reading-content h2,.article-layout .reading-content h2{font-size:26px;line-height:1.65}
 .reading-content h3{font-size:20px;margin-top:25px}
 .reading-content p,.reading-content ul{font-size:14px;line-height:2}
 .deliverables>article{gap:13px;padding-block:22px}.deliverables h3{font-size:20px}
 .section-counter{font-size:10px;margin-bottom:15px}
 .checklist-box{padding:22px!important}.checklist-box .button{font-size:12px;padding-inline:16px;gap:10px}
 .outcome-note{padding:19px;gap:11px}
 .project-facts{grid-template-columns:1fr;gap:17px;padding-block:23px 30px}
 .project-facts>div{flex-direction:row;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding-bottom:14px}
 .project-facts strong{font-size:12px;text-align:right}
 .project-cover>img{max-height:none}
 .article-byline{font-size:10px;gap:8px 20px;flex-wrap:wrap;padding-bottom:24px}
 .article-layout .page-toc{grid-template-columns:1fr}
 .article-layout .page-toc>a{font-size:12px}
 .featured-insight .article-browser b{font-size:29px}
 .insight-card h3{font-size:20px}.article-browser b{font-size:31px}
 .related-section .section-heading{align-items:flex-start;flex-direction:column;gap:6px}
 .related-section .section-heading>.text-link{margin-top:0;font-size:12px}
 .related-services{padding-bottom:45px}.related-services>h2{font-size:23px}
 .related-services>div{gap:9px;flex-direction:column;align-items:flex-start}
 .bundle-card h3{font-size:28px}.bundle-card h4{margin-top:12px}
 .contact-page h1{font-size:34px;line-height:1.6}
 .contact-form-panel form{gap:20px}
 .footer-brand p{font-size:20px}
}
@media(max-width:480px){
 .services-grid{grid-template-columns:1fr}
 .services-grid .service-card{padding:25px}
 .primary-services .service-card h3{font-size:23px}
 .service-detail-art>p{font-size:22px}
}
@media(max-width:360px){
 .hero h1{font-size:33px}.hero .hero-description{font-size:13px}
 .hero-actions{flex-wrap:wrap}.hero-actions>.button{flex:1;min-width:0;padding-inline:10px;font-size:11px;gap:7px}
 .hero-note{font-size:8px}
 .page-hero h1{font-size:29px}
 .service-lead-actions{align-items:flex-start;flex-direction:column;gap:10px}
 .service-detail-art{padding:23px}.service-detail-art>p{font-size:21px}
 .page-toc{padding:15px}
 .reading-content h2,.article-layout .reading-content h2{font-size:24px}
 .outcome-note{padding:16px}.checklist-box{padding:18px!important}
 .contact-page h1{font-size:29px}
 .featured-insight .article-browser b{font-size:25px}
 .article-browser b{font-size:28px}
 .section-heading>.text-link{white-space:normal}
}
@media(prefers-reduced-motion:reduce){.insight-card .insight-art{transition:none}}

/* interaction.css */
/* Shared interaction tokens: public components and the living reference. */
:root{--link-color:#b94f00;--link-visited:#6b5b3e;--link-hover:#8f3d00;--link-active:#7a3400;--focus-color:#a84800;--motion-fast:180ms;--motion-ui:220ms;--motion-entrance:500ms;--ease-ui:cubic-bezier(.2,.7,.2,1)}
.inline-link,.source-links>a,.reading-content p>a,.reading-content li>a{color:var(--link-color);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;transition:color var(--motion-fast) var(--ease-ui),text-decoration-color var(--motion-fast) var(--ease-ui);border-radius:2px}
.inline-link:visited,.source-links>a:visited,.reading-content p>a:visited,.reading-content li>a:visited{color:var(--link-visited)}
.inline-link:hover,.source-links>a:hover,.reading-content p>a:hover,.reading-content li>a:hover{color:var(--link-hover);text-decoration-thickness:2px}
.inline-link:active,.source-links>a:active,.reading-content p>a:active,.reading-content li>a:active{color:var(--link-active);text-decoration-thickness:2px}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus-color);outline-offset:4px}
.button{transition:background var(--motion-fast) var(--ease-ui),transform var(--motion-fast) var(--ease-ui),box-shadow var(--motion-fast) var(--ease-ui)}
.button:active:not(:disabled){transform:translateY(1px);box-shadow:none}
.button-orange:active:not(:disabled){background:#c75400;color:#fff}
.button-white:active:not(:disabled){background:#eef0e9}
.button-ink:active:not(:disabled){background:#141613}
.text-link:active{color:var(--link-active)}
.text-link .icon,.insight-card .insight-art{transition:transform var(--motion-fast) var(--ease-ui)}
.header-slot .header{transition:height var(--motion-ui) var(--ease-ui),box-shadow var(--motion-ui) var(--ease-ui)}
.header .brand{transition:width var(--motion-ui) var(--ease-ui)}
.hero-copy{animation:none!important}
@keyframes lw-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes lw-disclose{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){
 .hero-art{animation:lw-enter var(--motion-entrance) var(--ease-ui) both}
 .services-menu:not([hidden]),.language-menu:not([hidden]),.mobile-menu:not([hidden]),.brief-dialog[open]{animation:lw-disclose var(--motion-ui) var(--ease-ui) both}
}
@media(hover:none){.button:hover,.text-link:hover .icon,.insight-visual-link:hover .insight-art{transform:none}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 *,*::before,*::after{animation:none!important;transition:none!important}
 .button:hover,.button:active,.text-link:hover .icon,.insight-visual-link:hover .insight-art{transform:none!important}
}

/* languages.css */
/* Language-specific type: the same brand, readable in every script. */
:root { --font: 'Outfit','Noto Sans Thai',Tahoma,sans-serif; --reading-leading:1.8; }
:root:lang(en),[lang="en"] { --font:'Outfit',Arial,sans-serif; --reading-leading:1.75; }
:root:lang(zh),[lang^="zh"] { --font:'Outfit','Noto Sans SC','PingFang SC','Microsoft YaHei',sans-serif; --reading-leading:1.85; }
:root:lang(ja),[lang="ja"] { --font:'Outfit','Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif; --reading-leading:1.9; }
[lang="th"] { --font:'Outfit','Noto Sans Thai',Tahoma,sans-serif; --reading-leading:1.8; }
body,button,input,select,textarea,[lang] { font-family:var(--font); }
html { font-synthesis:none; }
p,li { overflow-wrap:anywhere; }
.reading-content p,.reading-content li,.page-intro,.expertise-section p { line-height:var(--reading-leading); }
:lang(zh),:lang(ja) { line-break:strict; word-break:normal; }
:lang(zh) .eyebrow,:lang(ja) .eyebrow,:lang(zh) h1,:lang(zh) h2,:lang(ja) h1,:lang(ja) h2,:lang(zh) .section-counter,:lang(ja) .section-counter { letter-spacing:0; }
:lang(zh) .hero h1,:lang(ja) .hero h1 { line-height:1.45; }
:lang(en) .hero h1 { font-size:clamp(38px,4.8vw,72px);line-height:1.16; }
:lang(en) .service-card h3,:lang(en) .service-card h4 { font-size:23px;line-height:1.35; }
:lang(ja) .service-card h3,:lang(ja) .service-card h4,:lang(zh) .service-card h3,:lang(zh) .service-card h4 { font-size:22px;line-height:1.6; }
.button { white-space:normal;text-align:center;line-height:1.5;min-width:0;height:auto; }
.button .icon { flex-shrink:0; }
.services-menu a span { min-width:0;overflow-wrap:anywhere; }
.services-menu a { line-height:1.55; }
.services-menu .icon { flex:0 0 16px; }
.service-card h3,.service-card h4,.work-info h3,.page-hero h1 { overflow-wrap:anywhere; }
.page-toc a { overflow-wrap:anywhere; }
.ui-language-specimens { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-block:24px; }
.ui-language-specimens article { border:1px solid var(--line);border-radius:12px;padding:24px;min-width:0; }
.ui-language-specimens span { color:var(--muted);font-size:12px; }
.ui-language-specimens p { font-size:22px;line-height:var(--reading-leading);margin:16px 0 0;font-weight:500; }
.ui-table td,.ui-table th { overflow-wrap:anywhere; }
:lang(ja) .ui-intro h1,:lang(zh) .ui-intro h1 { letter-spacing:-.03em; }
@media(min-width:1001px) and (max-width:1200px) { .desktop-nav { gap:14px; }.header-cta { padding-inline:14px;font-size:13px; }.header-actions { gap:10px; } }
@media(max-width:760px) { .ui-language-specimens { grid-template-columns:1fr; } }
@media(max-width:640px) {
 :lang(en) .hero h1 { font-size:clamp(34px,7.6vw,48px); }
 :lang(ja) .hero h1,:lang(zh) .hero h1 { font-size:clamp(29px,7vw,43px); }
 .hero-actions { flex-wrap:wrap; }
 .hero-actions .button { padding-inline:18px; }
 .collection-filters { flex-wrap:wrap; }
}
/* Briefs and original service icons. */
.service-brief-fields { margin-block:4px 22px; }
.service-brief-fields fieldset { margin:0;padding:22px;border:1px solid var(--line);border-radius:12px;background:var(--soft);min-width:0; }
.service-brief-fields fieldset[hidden] { display:none; }
.service-brief-fields legend { font-size:15px;font-weight:500;line-height:1.7;padding-inline:5px;max-width:100%;overflow-wrap:anywhere; }
.service-brief-fields fieldset>p,.brief-selection-hint,.brief-sensitive-note { color:var(--muted);font-size:12px;line-height:1.8; }
.service-brief-fields label { margin-block:16px 0; }
.service-brief-fields textarea { background:white; }
.brief-sensitive-note { margin-block:12px 0; }
.credential-list { align-self:start; }
.credential-list article h3 { font-size:19px;line-height:1.5;overflow-wrap:anywhere; }
.credential-list article p { font-size:12px;line-height:1.85;margin:12px 0 0; }
.ui-service-icons { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-block:24px; }
.ui-service-icons article { border:1px solid var(--line);border-radius:12px;padding:24px; }
.ui-service-icons svg { width:40px;height:40px;color:var(--orange-dark);margin-bottom:16px; }
.ui-service-icons h4 { font-size:14px;font-weight:500;line-height:1.65;margin:0 0 16px; }
.ui-service-icons a { font-size:12px; }
@media(max-width:640px) { .ui-service-icons { grid-template-columns:repeat(2,minmax(0,1fr)); }.ui-service-icons article { padding:18px; }.service-brief-fields fieldset { padding:16px; } }

.credential-list { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
.credential-list article { padding:22px; }
.credential-list article:nth-child(n+5),.credential-list>p { grid-column:1/-1; }
@media(min-width:761px) and (max-width:1100px), (max-width:480px) { .credential-list { grid-template-columns:1fr; } }

/* About: introduction above the qualifications, so neither column leaves a long gap. */
.expertise-section { display:block; }
.expertise-intro { display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;margin-bottom:46px; }
.expertise-intro h2 { font-size:clamp(27px,2.5vw,36px); }
.expertise-section .expertise-copy>p:first-child { margin-top:0; }
.expertise-section .expertise-role { margin-top:24px; }
.credential-heading { display:flex;align-items:baseline;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:26px;margin-bottom:22px; }
.credential-heading h3 { font-size:18px;font-weight:500;margin:0; }
.credential-heading>span { color:var(--muted);font-size:12px; }
.expertise-section .credential-list { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:0; }
.expertise-section .credential-list article { grid-column:auto;background:#fff;border:1px solid var(--line);padding:26px; }
.expertise-section .credential-list .credential-wide { grid-column:span 2; }
.expertise-section .credential-list .credential-training { background:#fbf7ed;border-color:#eadcc6; }
.credential-meta { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.credential-meta>span { color:var(--muted);font-size:11px;line-height:1.6; }
.credential-meta svg { width:26px;height:26px;flex-shrink:0;color:var(--orange-dark); }
.expertise-section .credential-list article h3 { font-size:20px;line-height:1.5;letter-spacing:0;margin:20px 0 0; }
.expertise-section .credential-list article p { font-size:13px;line-height:1.85;margin:12px 0 0; }
.expertise-section p.credential-footnote { font-size:11px;line-height:1.85;color:var(--muted);margin-top:20px; }
@media(max-width:1100px) { .expertise-intro { gap:40px; }.expertise-section .credential-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .expertise-intro { grid-template-columns:1fr;gap:24px;margin-bottom:32px; }.credential-heading { align-items:flex-start;flex-direction:column;gap:8px; }.expertise-section .credential-list article { padding:22px; } }
@media(max-width:480px) { .expertise-section .credential-list { grid-template-columns:1fr; }.expertise-section .credential-list .credential-wide { grid-column:auto; } }

/* theme.css */
/* Loremworks — WordPress/GenerateBlocks bridge. The visual system lives in clean/pages/structure/interaction/languages.css. */
mark.orange-text,mark.gb-highlight{background:none;color:var(--orange);padding:0}
/* Buttons and text links authored as blocks carry no inline SVG: draw the arrow with a mask. */
.button:not(:has(svg))::after,.text-link:not(:has(svg))::after{content:"";display:inline-block;width:22px;height:22px;flex-shrink:0;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 18 18 6M6 6h12v12'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 18 18 6M6 6h12v12'/%3E%3C/svg%3E") center/contain no-repeat}
.button.icon-arrow:not(:has(svg))::after,.text-link.icon-arrow:not(:has(svg))::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14m-6-6 6 6-6 6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14m-6-6 6 6-6 6'/%3E%3C/svg%3E")}
.button.icon-none::after,.text-link.icon-none::after{display:none}
.text-link:not(:has(svg))::after{width:19px;height:19px}
.insight-card>.text-link:not(:has(svg))::after{width:15px;height:15px}
@media(max-width:760px){.section-heading>.text-link:not(:has(svg))::after{width:15px;height:15px}}
.footer-end>.text-link:not(:has(svg))::after{width:30px;height:30px;color:var(--orange)}
/* Eyebrow authored as a block: dot via ::before. */
.eyebrow:not(:has(.orange-dot))::before{content:"";display:inline-block;width:7px;height:7px;background:var(--orange);border-radius:50%;flex-shrink:0}
/* Capabilities strip: separator authored as a text block (same styling as the mock's <i>). */
.capabilities .sep{font-size:16px;font-style:normal;color:#d4d7ce}
@media(max-width:1000px){.capabilities .sep{font-size:12px}}
/* Reading content: core blocks inside sections. */
.reading-content ul.wp-block-list,.reading-content ol.wp-block-list{padding-inline-start:22px}
.reading-content figure{margin:24px 0}
.reading-content img{border-radius:12px}
/* Process step number: decorative line when authored without a span. */
.step-number:not(:has(span,svg))::after{content:"";flex:1;height:1px;background:var(--line)}
/* WordPress pagination inside the design system. */
.pagination{display:flex;justify-content:center;gap:8px;padding-block:32px}
.pagination .page-numbers{display:inline-flex;min-width:40px;height:40px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;padding-inline:12px}
.pagination .page-numbers.current{background:var(--ink);color:#fff;border-color:var(--ink)}
/* Admin bar (logged-in only): WordPress already pushes <html> down by the bar height; the sticky slot just needs the same offset so the header never slides under the bar while scrolling. */
body.admin-bar .header-slot{top:32px}
body.admin-bar .header-sentinel{top:calc(64px + 32px)}
@media(max-width:782px){body.admin-bar .header-slot{top:46px}body.admin-bar .header-sentinel{top:calc(64px + 46px)}}
@media(max-width:600px){body.admin-bar .header-slot{top:0}body.admin-bar .header-sentinel{top:64px}}
/* Screen reader text. */
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap}
/* TranslatePress floater is replaced by the header picker. */
#trp-floater-ls{display:none!important}
/* Contact form live states. */
.brief-status.is-error{color:#b3261e}
.brief-status.is-success{color:#2e6b34}
.project-brief-form.is-sending button[type=submit]{opacity:.6;pointer-events:none}
.lw-messages{display:none}
/* Block-authored equivalents of decorative children in the mock. */
.hero-note:not(:has(.note-line))::before{content:"";height:1px;width:26px;background:#b6b8b1;flex-shrink:0}
.about-values>span:not(:has(svg))::before{content:"";width:15px;height:15px;flex-shrink:0;background:var(--orange-dark);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E") center/contain no-repeat}
.step-number.has-icon:not(:has(span,svg))::after{flex:0 0 20px;height:20px;margin-left:auto;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 18 18 6M6 6h12v12'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 18 18 6M6 6h12v12'/%3E%3C/svg%3E") center/contain no-repeat}
.eyebrow.no-dot::before{content:none}
.form-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.outcome-note>.icon:first-child{flex-shrink:0}
/* Language menu: check mark only on the current language. */
.language-menu>a:not([aria-current])>.icon{visibility:hidden}

/* ---- Accessible orange for small text (setting a11y_contrast): headings, buttons and large accents keep the bright brand orange. */
body.lw-contrast .eyebrow,body.lw-contrast .text-link,body.lw-contrast .article-meta span,body.lw-contrast .service-bottom,body.lw-contrast .art-caption,body.lw-contrast .section-counter,body.lw-contrast .mini-site-nav b span,body.lw-contrast .footer-links h2{color:var(--orange-dark,#B94F00)}
body.lw-contrast .eyebrow::before,body.lw-contrast .eyebrow .orange-dot{background:var(--orange)}
body.lw-contrast .hero-note{color:#5f625b}
/* ---- Cookie consent (PDPA) */
.lw-consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:560px;margin-inline:auto;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 50px #22232122;padding:16px 18px;display:grid;gap:12px;font-size:13px;line-height:1.7;color:var(--ink)}
.lw-consent p{margin:0}
.lw-consent a{color:var(--orange-dark,#B94F00);text-decoration:underline}
.lw-consent-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.lw-consent button{font:inherit;font-weight:500;border-radius:999px;padding:9px 16px;cursor:pointer;border:1px solid var(--line);background:#fff;color:var(--ink)}
.lw-consent button[data-consent="accept"]{background:var(--ink);color:#fff;border-color:var(--ink)}
@media(max-width:640px){body.has-sticky-bar .lw-consent{bottom:72px}}
/* ---- Sticky mobile contact bar */
.lw-sticky{position:fixed;left:0;right:0;bottom:0;z-index:55;display:none;grid-auto-flow:column;grid-auto-columns:1fr;gap:1px;background:var(--line);border-top:1px solid var(--line);transform:translateY(100%);transition:transform .25s ease}
.lw-sticky.is-visible{transform:none}
.lw-sticky.is-parked{transform:translateY(100%)}
.lw-sticky a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:56px;padding:8px 6px;background:#fff;color:var(--ink);font-size:13px;font-weight:500;text-decoration:none}
.lw-sticky a .icon{width:18px;height:18px}
.lw-sticky a.is-primary{background:var(--orange);color:#fff}
@media(max-width:640px){body.has-sticky-bar .lw-sticky{display:grid}body.has-sticky-bar{padding-bottom:56px}body.has-sticky-bar .footer{padding-bottom:16px}}
@media(prefers-reduced-motion:reduce){.lw-sticky{transition:none}}
/* ---- Testimonials */
.testimonials{margin-block:64px}
.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:24px}
.testimonial-card{margin:0;padding:26px 26px 22px;border:1px solid var(--line);border-radius:16px;background:#fff;display:flex;flex-direction:column;gap:18px}
.testimonial-card blockquote{margin:0;font-size:16px;line-height:1.85}
.testimonial-card blockquote p{margin:0}
.testimonial-card blockquote::before{content:"“";display:block;font-family:'Outfit',sans-serif;font-size:44px;line-height:.6;color:var(--orange);margin-bottom:10px}
.testimonial-card figcaption{display:flex;gap:12px;align-items:center;font-size:13px;color:var(--muted)}
.testimonial-card figcaption strong{display:block;color:var(--ink);font-weight:500}
.testimonial-card figcaption span{display:block}
.testimonial-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover}
/* ---- Estimator */
.estimator{margin-block:56px;padding:34px 32px;border:1px solid var(--line);border-radius:20px;background:var(--soft,#f7f8f5)}
.estimator-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;margin-top:20px}
.estimator fieldset{border:0;padding:0;margin:0;display:grid;gap:8px}
.estimator legend{font-weight:500;margin-bottom:8px;font-size:14px}
.estimator-option{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:13.5px;line-height:1.5;cursor:pointer}
.estimator-option:has(input:checked){border-color:var(--ink)}
.estimator-option input{margin-top:3px;accent-color:var(--orange)}
.estimator-result{margin-top:26px;padding-top:22px;border-top:1px solid var(--line);display:grid;gap:8px}
.estimator-price{font-family:'Outfit','Noto Sans Thai',sans-serif;font-size:clamp(28px,4vw,40px);font-weight:500;letter-spacing:-.02em;margin:0;font-variant-numeric:tabular-nums}
.estimator-care{margin:0;color:var(--ink)}
.estimator-note{margin:0;font-size:12.5px;color:var(--muted)}
.estimator .form-actions{margin-top:10px}
@media(max-width:640px){.estimator{padding:24px 18px}}
/* ---- Case study (real portfolio) */
.case-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin:0}
.case-facts div{padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:#fff}
.case-facts dt{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.case-facts dd{margin:6px 0 0;font-family:'Outfit','Noto Sans Thai',sans-serif;font-size:24px;font-weight:500;line-height:1.15;letter-spacing:-.01em}
.case-challenge{max-width:66ch;line-height:1.9}
.case-quote{margin:40px 0;padding:28px 30px;border-left:3px solid var(--orange);background:#fff;border-radius:0 14px 14px 0}
.case-quote p{margin:0;font-size:18px;line-height:1.8}
.case-quote footer{margin-top:12px;font-size:13px;color:var(--muted)}
.case-compare{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}
.case-compare figure{margin:0}
.case-compare img{width:100%;border-radius:12px;border:1px solid var(--line)}
.case-compare figcaption{font-size:12px;color:var(--muted);margin-top:8px;letter-spacing:.06em;text-transform:uppercase}
@media(max-width:640px){.case-compare{grid-template-columns:1fr}}
.contact-channels a[data-booking]{font-weight:500}

