@font-face{font-family:KTThai;src:local('Thonburi')}*{box-sizing:border-box} :root{--ink:#273532;--paper:#f2f0e9;--gold:#ac8149;--line:#d6d5cc;--muted:#748079}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 -apple-system,BlinkMacSystemFont,KTThai,sans-serif}button,a,input,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit;cursor:pointer}button{color:inherit;background:none;border:1px solid var(--line);border-radius:5px;padding:7px 13px}button:hover{background:#e3e4db}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #b99960;outline-offset:3px}button.active{background:var(--ink);color:white;border-color:var(--ink)}a{color:inherit}header{height:88px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:16px;align-items:center;text-decoration:none;font:600 18px/1.2 Georgia,serif;letter-spacing:.08em}.brand small{display:block;font:9px/2.8 system-ui;letter-spacing:.2em}.monogram{font-size:27px;border:1px solid #bcaa89;padding:10px}.monogram span{color:#b2864f;font:16px Georgia}nav{display:flex;gap:22px;align-items:center}nav a{font-size:14px;text-decoration:none}nav button{font-size:13px}main{max-width:1700px;margin:auto;padding:38px 4vw 0}.intro{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:28px}.eyebrow{font:10px/1.5 system-ui;letter-spacing:.18em;color:#9b7c52;margin:0 0 10px}h1{font-size:clamp(24px,2.5vw,37px);font-weight:500;line-height:1.35;letter-spacing:-.035em;margin:0 0 10px}.intro p:not(.eyebrow){font-size:14px;color:var(--muted);margin:0}.metrics{display:flex;gap:32px}.metrics span{border-left:1px solid var(--line);padding-left:24px}.metrics b{font:32px/1.2 Georgia,serif;display:block;white-space:nowrap}.metrics small{font:12px system-ui;color:#937c5d}.metrics em{font-size:11px;font-style:normal;color:var(--muted)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:24px}.viewer-wrap{background:#e5e8e2;border:1px solid #d7ddd4;position:relative;border-radius:9px;overflow:hidden}.viewer-toolbar{position:absolute;top:15px;left:18px;right:18px;z-index:2;display:flex;justify-content:space-between;gap:12px}.segmented{display:flex;background:#f2f3ecd9;backdrop-filter:blur(10px);padding:3px;border-radius:7px;border:1px solid #cbd0c8;gap:3px}.segmented button{font-size:12px;padding:5px 10px;border:0}#viewport{height:min(76vh,830px);min-height:550px;position:relative}canvas{display:block;touch-action:none;max-width:100%}#loading{position:absolute;inset:0;display:grid;place-items:center;z-index:1;color:#63776a;background:#e5e8e2}.model-tag{position:absolute;bottom:10px;left:18px;font:10px system-ui;letter-spacing:.12em;color:#78857b;pointer-events:none}.view-controls{padding:11px 15px;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;border-top:1px solid #cbd3c9;background:#f3f4ede8}.camera-list{display:flex;gap:4px;flex-wrap:wrap}.camera-list button,.toggles button{padding:5px 9px;font-size:11px}.toggles{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.toggles label{font-size:11px;display:flex;align-items:center;gap:3px;white-space:nowrap}.toggles input{accent-color:#8a7149}.hint{font-size:10px;color:#818c82;text-align:center;margin:0;padding:0 0 8px;background:#f3f4ed}aside{padding:10px 0}.assembly-item{display:flex;gap:12px;width:100%;border:0;border-bottom:1px solid #ddded5;border-radius:0;text-align:left;align-items:center;padding:9px 10px;font-size:12px}.assembly-item span{font:10px/1.5 system-ui;color:#9b896e}.assembly-item.active{background:#e2e5db;color:#273532;box-shadow:inset 3px 0 #9b7c52}.detail{margin-top:24px;padding:0 10px}.detail>span{font:9px system-ui;letter-spacing:.1em;color:#a08763}.detail h2{font-size:18px;font-weight:500;margin:7px 0 10px}.detail p{font-size:12px;color:#718077;line-height:1.9}.detail dl{display:grid;grid-template-columns:1fr auto;gap:8px;font-size:11px}.detail dt{color:#7d887f}.detail dd{margin:0}.service{border-top:1px solid var(--line);padding:18px 10px;margin-top:18px}.service label{display:block;font-size:12px}.service select{width:100%;padding:8px;background:transparent;border:1px solid var(--line);font-size:12px;margin:8px 0}.service small{display:block;font-size:10px;color:#899086;line-height:1.8}.gallery{margin:66px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;margin:0 0 24px}.section-heading h2,.deliverables h2{font-size:24px;font-weight:500;margin:0}.section-heading p{font-size:12px;color:var(--muted);margin:0}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.gallery a{text-decoration:none;font-size:11px}.gallery img{width:100%;height:330px;object-fit:cover;border-radius:7px;background:#182532;display:block;margin-bottom:9px}.gallery a:not(:first-child) img{object-fit:contain}.deliverables{display:grid;grid-template-columns:1fr 1fr;gap:10vw;padding:40px 0 55px;border-top:1px solid var(--line)}.deliverables p{font-size:13px;color:var(--muted);max-width:540px}.deliverables .status-note{font-size:11px;color:#957647;border-left:2px solid #bda47b;padding-left:12px}.download-list a{display:flex;gap:20px;padding:16px 8px;border-bottom:1px solid var(--line);text-decoration:none;font-size:13px}.download-list strong{font:11px/2 system-ui;letter-spacing:.1em;color:#9d8159;width:40px}.download-list span{flex:1}.download-list a:hover{background:#e6e8df}footer{border-top:1px solid var(--line);padding:24px 4vw;display:flex;gap:20px;font:10px system-ui;color:#889086}footer span:first-child{margin-right:auto;letter-spacing:.12em}body.dark .viewer-wrap{border-color:#26343c;background:#14232c}body.dark .model-tag{color:#91a1a9}body.dark .viewer-toolbar .segmented{background:#e7e9e1ee}#fullscreen{font-size:20px;line-height:1} .viewer-wrap:fullscreen{width:100vw;height:100vh}.viewer-wrap:fullscreen #viewport{height:calc(100vh - 95px);max-height:none}.doc{max-width:1120px}.doc h1{margin:20px 0}.doc section{padding:30px 0;border-bottom:1px solid var(--line)}.doc h2{font-size:23px}.doc p,.doc li{font-size:14px;line-height:1.9}.doc .notice{background:#e9e2d2;padding:20px 25px;border-left:3px solid var(--gold)}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{background:#273532;color:white;text-align:left;padding:12px}td{border-bottom:1px solid #dddcd1;padding:13px 10px;vertical-align:top}.doc a{color:#8b6b3e}.doc .doc-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.doc img{width:100%;max-height:550px;object-fit:contain;background:#172533;border-radius:6px}@media(max-width:1000px){.workspace{grid-template-columns:minmax(0,1fr) 245px;gap:16px}.metrics{gap:18px}.metrics span{padding-left:18px}main{padding-left:20px;padding-right:20px}#viewport{min-height:550px}.gallery img{height:260px}.section-heading{display:block}.section-heading p{margin-top:8px}}@media(max-width:720px){header{height:72px;padding:0 18px}.brand{font-size:14px;gap:10px}.monogram{font-size:22px;padding:7px}.brand small{font-size:7px}nav{gap:10px}nav a{font-size:11px}.intro{display:block;margin-bottom:22px}.metrics{margin-top:22px;gap:30px}.metrics b{font-size:25px}.metrics span{padding-left:15px}.workspace{display:block}main{padding-top:25px}#viewport{height:66vh;min-height:470px}.viewer-toolbar{left:10px;right:10px;top:10px}.segmented button{font-size:10px;padding:5px 8px}.view-controls{display:block}.toggles{margin-top:12px;justify-content:space-between}.camera-list{justify-content:space-between}.camera-list button{font-size:10px;padding:6px 8px}.hint{font-size:9px;padding-top:3px}aside{margin-top:22px}.assembly-item{font-size:12px}#assembly-list{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.detail{padding:4px 0}.detail dl{grid-template-columns:1fr 1fr}.service{padding:16px 0}.gallery{margin:40px 0}.gallery-grid{grid-template-columns:1fr 1fr}.gallery img{height:290px}.gallery a{font-size:10px}.section-heading h2,.deliverables h2{font-size:22px}.deliverables{grid-template-columns:1fr;gap:20px;padding:30px 0}.deliverables p{font-size:12px}footer{flex-wrap:wrap;font-size:9px;gap:12px}.doc .doc-grid{grid-template-columns:1fr}.doc table{min-width:700px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

.workspace{align-items:start}

body.viewer-expanded{overflow:hidden}.viewer-wrap.expanded-view{position:fixed;inset:0;z-index:100;width:100vw;height:100dvh;border-radius:0;display:flex;flex-direction:column}.viewer-wrap.expanded-view #viewport{height:auto;min-height:0;flex:1}.viewer-wrap.expanded-view .view-controls,.viewer-wrap.expanded-view .hint{flex-shrink:0}
