@import url("fonts.css");
:root{--ink:#191a1c;--paper:#f6f6f3;--blue:#2d46ff;--line:#d7d8d5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:6px}.skip{position:absolute;left:20px;top:-80px;background:white;padding:15px;z-index:9}.skip:focus{top:10px}header{margin:0 5%;padding:27px 0;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{font-family:Manrope,Arial,sans-serif;display:flex;gap:8px;align-items:baseline;font-weight:800;font-size:35px;letter-spacing:-2px}.brand span{font-size:15px;letter-spacing:-.5px;font-weight:500}nav{display:flex;gap:34px;align-items:center;font-size:14px}nav a:hover{color:var(--blue)}.nav-contact{border:1px solid var(--ink);border-radius:30px;padding:12px 20px}.hero{padding:30px 5% 60px}.eyebrow{display:flex;justify-content:space-between;font-size:12px;letter-spacing:1.7px;font-weight:600}h1{font-family:Manrope,Arial,sans-serif;font-weight:500;font-size:clamp(54px,7.5vw,116px);line-height:1.06;letter-spacing:-.066em;margin:48px 0 44px;position:relative;max-width:1300px}h1 em{font-family:Georgia,serif;font-weight:400;color:var(--blue);letter-spacing:-.055em}.asterisk{position:absolute;right:4%;top:24%;font-size:clamp(80px,15vw,220px);color:var(--blue);font-family:Arial;line-height:1;animation:rotate 35s linear infinite}.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px}.hero-bottom p{font-size:18px;line-height:1.6}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;border-radius:40px;background:var(--blue);color:white;padding:10px 10px 10px 24px;font-size:15px;border:0;cursor:pointer;transition:transform .2s}.button:hover{transform:translateY(-3px)}.button-icon{border-radius:50%;width:40px;height:40px;background:#ffffff24;display:grid;place-items:center;font-size:25px}.small-note{font-size:12px;line-height:1.7;letter-spacing:1px}footer{margin:0 5%;padding:28px 0;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);gap:20px;font-size:13px}@keyframes rotate{to{transform:rotate(360deg)}}@media(max-width:700px){header{padding:20px 0}nav{gap:14px}nav a:not(.nav-contact){display:none}.brand{font-size:30px}.hero{padding-top:25px}.eyebrow{font-size:10px;letter-spacing:.7px}h1{margin:48px 0 30px;font-size:clamp(48px,10.5vw,72px)}.asterisk{right:0;top:10%;font-size:65px;opacity:.2}.hero-bottom{align-items:flex-start;flex-direction:column;gap:8px}.small-note{display:none}footer{flex-wrap:wrap}footer .brand{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.projects,.approach,.process{padding:75px 5%}.projects{background:#e9ebe7}.section-label{font-size:12px;letter-spacing:1.5px;font-weight:600}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin:30px 0 42px}h2{font-family:Manrope,Arial,sans-serif;font-weight:500;font-size:clamp(34px,4vw,60px);letter-spacing:-.045em;line-height:1.14;margin:0}.section-heading p{max-width:380px;font-size:16px;line-height:1.65;color:#535650;margin:0}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px 24px}.project{text-align:left;padding:0;background:none;border:0;color:inherit;cursor:pointer;min-width:0}.project.wide{grid-column:1/-1}.preview{position:relative;overflow:hidden;min-height:360px;padding:28px;color:white;transition:transform .35s}.project:hover .preview{transform:translateY(-5px)}.preview img{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;filter:brightness(.63);transition:transform .7s}.project:hover img{transform:scale(1.04)}.mock-nav,.mock-title,.mock-tag{position:relative;z-index:1}.mock-nav{display:flex;justify-content:space-between;gap:12px;font-size:12px;letter-spacing:2px}.mock-nav span{font-size:10px;letter-spacing:0}.mock-title{font:46px/1.05 Georgia,serif;letter-spacing:-1px;margin:70px 0 30px}.mock-tag{font-size:12px}.restaurant .mock-title{font-style:italic}.project-caption{display:flex;justify-content:space-between;align-items:center;padding-top:18px;gap:15px}h3{font-weight:500;font-size:24px;letter-spacing:-.7px;margin:0 0 8px}.project-caption p{font-size:14px;color:#62645f;margin:0}.pill{font-size:12px;border:1px solid #b8bbb4;border-radius:20px;padding:7px 12px;white-space:nowrap}.artisan{min-height:280px;background:#334336;color:#f5f1d6}.artisan-layout{display:flex;justify-content:space-between;gap:30px;align-items:center}.artisan .mock-title{margin:40px 0 30px;font-size:clamp(36px,4vw,58px)}.artisan-detail{display:grid;gap:20px;font-size:12px;letter-spacing:1px;width:30%}.artisan-detail span{border-bottom:1px solid #ffffff35;padding-bottom:15px}.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:60px}.benefits article{border-top:1px solid var(--line);padding-top:22px}.number{display:block;color:var(--blue);font-size:14px;margin-bottom:42px}.benefits p,.steps p,.intro{font-size:16px;line-height:1.7;color:#62645f}.process{display:grid;grid-template-columns:1fr 1fr;gap:8%;border-top:1px solid var(--line)}.process h2{margin:30px 0}.steps article{display:flex;gap:25px;padding:25px 0;border-bottom:1px solid var(--line)}.steps article:first-child{padding-top:0}.steps article>span{color:var(--blue);font-size:14px;padding-top:7px}.steps p{margin:0}.contact{background:var(--blue);color:white;padding:75px 5%;text-align:center}.contact h2{margin:30px 0;font-size:clamp(40px,5.5vw,82px)}.contact em{font-family:Georgia,serif;font-weight:400}.contact p{line-height:1.7;margin:0 auto 30px;max-width:500px}.button.light{background:white;color:var(--ink)}.light .button-icon{background:#e9ebe7}dialog{border:0;padding:50px;max-width:600px;width:calc(100% - 32px);color:var(--ink);background:var(--paper)}dialog::backdrop{background:#1119;backdrop-filter:blur(6px)}dialog h2{font-size:36px;margin:25px 0}dialog p,dialog li{line-height:1.7}dialog li{margin-bottom:12px}.close{position:absolute;right:15px;top:10px;background:none;border:0;font-size:32px;cursor:pointer}.dialog-note{font-size:13px;color:#666}form label{display:grid;gap:10px;margin:20px 0}input,textarea{width:100%;padding:12px;border:1px solid #999;background:white;border-radius:4px}textarea{resize:vertical}@media(max-width:700px){.projects,.approach,.process{padding:50px 5%}.section-heading{flex-direction:column;align-items:flex-start;gap:20px}.project-grid,.benefits,.process{grid-template-columns:1fr}.project.wide{grid-column:auto}.preview{min-height:310px;padding:20px}.mock-title{font-size:40px}.mock-nav span{display:none}.artisan-layout{display:block}.artisan-detail{display:none}.artisan{min-height:270px}.benefits{gap:25px;margin-top:30px}.number{margin-bottom:20px}.process{gap:35px}.contact{padding:55px 5%}.contact h2{font-size:39px}dialog{padding:38px 24px}.project-caption h3{font-size:21px}}
/* Language selection and balanced dialog buttons. */
#language{font:inherit;font-size:14px;max-width:165px;border:1px solid var(--line);border-radius:25px;background:var(--paper);color:var(--ink);padding:11px 10px;cursor:pointer}#brief-form>.button,#project-contact{display:flex;width:fit-content;max-width:100%;margin:24px auto 0;padding:15px 28px;justify-content:center;text-align:center;line-height:1.5}#brief-status{text-align:center}html[lang="zh-Hans"] h1{font-size:clamp(50px,7vw,102px);letter-spacing:0;line-height:1.22}html[lang="zh-Hans"] h2{letter-spacing:0;line-height:1.3}html[lang="zh-Hans"] h1 em{font-style:normal}html[lang="ms"] h1{font-size:clamp(46px,6.5vw,98px)}@media(max-width:700px){header{gap:12px;flex-wrap:wrap}nav{margin-left:auto;gap:9px}.nav-contact{padding:10px 12px}#language{max-width:130px;font-size:13px}h1 .asterisk{display:none}html[lang="ms"] h1{font-size:clamp(39px,9vw,63px)}.brand{font-size:28px}.brand span{font-size:13px}}@media(max-width:400px){nav{width:100%;justify-content:space-between}}

