oh-my-design-cli 1.8.6 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. package/.claude/hooks/lib/preferences-parser.cjs +1 -0
  2. package/.claude/hooks/lib/preferences-writer.cjs +1 -0
  3. package/.claude/hooks/post-edit-watch.cjs +1 -0
  4. package/.claude/hooks/session-end-foldin.cjs +1 -0
  5. package/.claude/hooks/session-state-loader.cjs +1 -0
  6. package/.claude/hooks/skill-activation.cjs +1 -0
  7. package/.claude/settings.json +10 -1
  8. package/.github/assets/logo-bg.png +0 -0
  9. package/AGENTS.md +20 -1
  10. package/CHANGELOG.md +482 -0
  11. package/MIGRATION.md +103 -0
  12. package/README.ja.md +56 -19
  13. package/README.ko.md +47 -30
  14. package/README.md +48 -30
  15. package/README.zh-TW.md +59 -22
  16. package/agents/AGENT.md +8 -7
  17. package/agents/omd-codex-image.md +1 -1
  18. package/agents/omd-critic.md +6 -7
  19. package/agents/omd-designer-review.md +1 -1
  20. package/agents/omd-final-qa.md +1 -1
  21. package/agents/omd-humanizer.md +38 -0
  22. package/agents/omd-kr-writer.md +3 -4
  23. package/agents/omd-locale-adapter.md +12 -16
  24. package/agents/omd-master.md +24 -19
  25. package/agents/omd-microcopy.md +1 -1
  26. package/agents/omd-orchestrator.md +7 -8
  27. package/agents/omd-slop-auditor.md +31 -0
  28. package/agents/omd-ux-researcher.md +1 -1
  29. package/data/reference-fingerprints.json +2761 -85
  30. package/dist/bin/oh-my-design.js +16 -8
  31. package/dist/bin/oh-my-design.js.map +1 -1
  32. package/dist/chunk-UJIHCEYF.js +99 -0
  33. package/dist/chunk-UJIHCEYF.js.map +1 -0
  34. package/dist/doctor-LDWSFM3I.js +763 -0
  35. package/dist/doctor-LDWSFM3I.js.map +1 -0
  36. package/dist/install-skills-ZZFNJ2II.js +1120 -0
  37. package/dist/install-skills-ZZFNJ2II.js.map +1 -0
  38. package/docs/CLI_QUICKSTART.md +157 -0
  39. package/package.json +25 -4
  40. package/scripts/postinstall.cjs +5 -4
  41. package/skills/claude-design/SKILL.md +38 -14
  42. package/skills/claude-design/references/claude-design-flow.md +11 -11
  43. package/skills/claude-design/references/codebase-analysis.md +5 -4
  44. package/skills/omd-final-qa/SKILL.md +1 -1
  45. package/skills/omd-harness/SKILL.md +51 -50
  46. package/skills/omd-humanize/SKILL.md +116 -0
  47. package/skills/omd-humanize/agents/openai.yaml +4 -0
  48. package/skills/omd-humanize/references/locale-playbooks.md +102 -0
  49. package/skills/omd-humanize/references/sources.md +11 -0
  50. package/skills/omd-init/SKILL.md +18 -12
  51. package/skills/omd-locale-adapter/SKILL.md +58 -91
  52. package/skills/omd-orchestrator/SKILL.md +11 -5
  53. package/skills/omd-reference-capture/SKILL.md +80 -26
  54. package/skills/omd-reference-capture/scripts/PLAYWRIGHT-LICENSE.txt +202 -0
  55. package/skills/omd-reference-capture/scripts/PLAYWRIGHT-NOTICE.txt +5 -0
  56. package/skills/omd-reference-capture/scripts/THIRD_PARTY_NOTICES.md +3 -0
  57. package/skills/omd-reference-capture/scripts/capture-reference-evidence.mjs +159906 -0
  58. package/skills/omd-slop-audit/SKILL.md +110 -0
  59. package/skills/omd-slop-audit/agents/openai.yaml +4 -0
  60. package/skills/omd-slop-audit/references/pattern-catalog.md +96 -0
  61. package/skills/omd-slop-audit/references/sources.md +24 -0
  62. package/web/references/104/DESIGN.md +354 -0
  63. package/web/references/11st/DESIGN.md +197 -316
  64. package/web/references/29cm/DESIGN.md +297 -393
  65. package/web/references/42dot/DESIGN.md +390 -0
  66. package/web/references/8percent/DESIGN.md +438 -0
  67. package/web/references/ably/DESIGN.md +267 -572
  68. package/web/references/acer/DESIGN.md +329 -0
  69. package/web/references/airbnb/DESIGN.md +219 -557
  70. package/web/references/airbridge/DESIGN.md +451 -0
  71. package/web/references/alipay/DESIGN.md +179 -420
  72. package/web/references/apple/DESIGN.md +224 -498
  73. package/web/references/asleep/DESIGN.md +402 -0
  74. package/web/references/au/DESIGN.md +334 -0
  75. package/web/references/autopedia/DESIGN.md +382 -0
  76. package/web/references/aws-cloudscape/DESIGN.md +241 -0
  77. package/web/references/baemin/DESIGN.md +332 -491
  78. package/web/references/banksalad/DESIGN.md +269 -180
  79. package/web/references/barogo/DESIGN.md +416 -0
  80. package/web/references/beusable/DESIGN.md +464 -0
  81. package/web/references/bigin/DESIGN.md +454 -0
  82. package/web/references/bilibili/DESIGN.md +206 -374
  83. package/web/references/bmw/DESIGN.md +162 -276
  84. package/web/references/brandi/DESIGN.md +184 -325
  85. package/web/references/buzzvil/DESIGN.md +457 -0
  86. package/web/references/cafe24/DESIGN.md +472 -0
  87. package/web/references/catchtable/DESIGN.md +219 -264
  88. package/web/references/cgv/DESIGN.md +317 -0
  89. package/web/references/channeltalk/DESIGN.md +210 -336
  90. package/web/references/china-airlines/DESIGN.md +291 -0
  91. package/web/references/cjonstyle/DESIGN.md +453 -0
  92. package/web/references/class101/DESIGN.md +168 -387
  93. package/web/references/classum/DESIGN.md +228 -203
  94. package/web/references/claude/DESIGN.md +242 -479
  95. package/web/references/clay/DESIGN.md +179 -377
  96. package/web/references/clickhouse/DESIGN.md +254 -343
  97. package/web/references/codeit/DESIGN.md +470 -0
  98. package/web/references/cohere/DESIGN.md +214 -324
  99. package/web/references/coinone/DESIGN.md +199 -179
  100. package/web/references/corca/DESIGN.md +414 -0
  101. package/web/references/coupang/DESIGN.md +205 -475
  102. package/web/references/cursor/DESIGN.md +240 -381
  103. package/web/references/dabang/DESIGN.md +248 -213
  104. package/web/references/dable/DESIGN.md +431 -0
  105. package/web/references/datarize/DESIGN.md +338 -0
  106. package/web/references/dealicious/DESIGN.md +402 -0
  107. package/web/references/drdiary/DESIGN.md +404 -0
  108. package/web/references/elastic/DESIGN.md +238 -0
  109. package/web/references/elevenlabs/DESIGN.md +183 -321
  110. package/web/references/elice/DESIGN.md +445 -0
  111. package/web/references/eslite/DESIGN.md +257 -0
  112. package/web/references/evaair/DESIGN.md +338 -0
  113. package/web/references/expo/DESIGN.md +238 -331
  114. package/web/references/familymart-tw/DESIGN.md +254 -0
  115. package/web/references/ferrari/DESIGN.md +160 -377
  116. package/web/references/figma/DESIGN.md +197 -451
  117. package/web/references/fitpet/DESIGN.md +445 -0
  118. package/web/references/flex/DESIGN.md +170 -253
  119. package/web/references/framer/DESIGN.md +197 -340
  120. package/web/references/freee/DESIGN.md +211 -533
  121. package/web/references/friendliai/DESIGN.md +431 -0
  122. package/web/references/frip/DESIGN.md +440 -0
  123. package/web/references/furiosaai/DESIGN.md +450 -0
  124. package/web/references/gangnamunni/DESIGN.md +154 -591
  125. package/web/references/gaudiolab/DESIGN.md +414 -0
  126. package/web/references/google/DESIGN.md +290 -398
  127. package/web/references/goorm/DESIGN.md +470 -0
  128. package/web/references/greencar/DESIGN.md +420 -0
  129. package/web/references/hackle/DESIGN.md +472 -0
  130. package/web/references/hashicorp/DESIGN.md +273 -318
  131. package/web/references/heydealer/DESIGN.md +429 -0
  132. package/web/references/humanscape/DESIGN.md +433 -0
  133. package/web/references/hwahae/DESIGN.md +453 -0
  134. package/web/references/hyundai/DESIGN.md +158 -368
  135. package/web/references/hyundaicard/DESIGN.md +171 -121
  136. package/web/references/ibm/DESIGN.md +227 -378
  137. package/web/references/idus/DESIGN.md +450 -0
  138. package/web/references/igaworks/DESIGN.md +437 -0
  139. package/web/references/inflearn/DESIGN.md +221 -366
  140. package/web/references/intuit/DESIGN.md +244 -0
  141. package/web/references/jandi/DESIGN.md +191 -291
  142. package/web/references/jobplanet/DESIGN.md +415 -0
  143. package/web/references/kakao/DESIGN.md +287 -475
  144. package/web/references/kakaobank/DESIGN.md +220 -521
  145. package/web/references/kakaogames/DESIGN.md +220 -0
  146. package/web/references/kakaopay/DESIGN.md +207 -526
  147. package/web/references/karrot/DESIGN.md +227 -251
  148. package/web/references/kb-kookmin/DESIGN.md +308 -0
  149. package/web/references/kbank/DESIGN.md +220 -175
  150. package/web/references/kcd/DESIGN.md +432 -0
  151. package/web/references/kmong/DESIGN.md +281 -356
  152. package/web/references/krds/DESIGN.md +245 -19
  153. package/web/references/kream/DESIGN.md +224 -359
  154. package/web/references/kurly/DESIGN.md +211 -533
  155. package/web/references/kyobobook/DESIGN.md +445 -0
  156. package/web/references/lablup/DESIGN.md +474 -0
  157. package/web/references/lamborghini/DESIGN.md +198 -360
  158. package/web/references/lemonbase/DESIGN.md +452 -0
  159. package/web/references/lguplus/DESIGN.md +259 -0
  160. package/web/references/likelion/DESIGN.md +283 -0
  161. package/web/references/line/DESIGN.md +396 -355
  162. package/web/references/linear.app/DESIGN.md +209 -562
  163. package/web/references/lotteon/DESIGN.md +386 -0
  164. package/web/references/lovable/DESIGN.md +255 -349
  165. package/web/references/makinarocks/DESIGN.md +242 -0
  166. package/web/references/maum-ai/DESIGN.md +423 -0
  167. package/web/references/medibloc/DESIGN.md +425 -0
  168. package/web/references/megabox/DESIGN.md +232 -0
  169. package/web/references/mercari/DESIGN.md +217 -434
  170. package/web/references/microsoft/DESIGN.md +234 -388
  171. package/web/references/mildang/DESIGN.md +411 -0
  172. package/web/references/millie/DESIGN.md +183 -504
  173. package/web/references/minimax/DESIGN.md +264 -322
  174. package/web/references/miricanvas/DESIGN.md +182 -355
  175. package/web/references/miro/DESIGN.md +234 -232
  176. package/web/references/mistral.ai/DESIGN.md +231 -314
  177. package/web/references/mixi/DESIGN.md +234 -0
  178. package/web/references/moin/DESIGN.md +445 -0
  179. package/web/references/mongodb/DESIGN.md +219 -316
  180. package/web/references/moreh/DESIGN.md +437 -0
  181. package/web/references/musinsa/DESIGN.md +184 -510
  182. package/web/references/mynavi/DESIGN.md +242 -0
  183. package/web/references/myrealtrip/DESIGN.md +169 -406
  184. package/web/references/naver/DESIGN.md +328 -499
  185. package/web/references/naverwebtoon/DESIGN.md +172 -395
  186. package/web/references/neosapience/DESIGN.md +441 -0
  187. package/web/references/nhn/DESIGN.md +169 -346
  188. package/web/references/nhncloud/DESIGN.md +185 -123
  189. package/web/references/nota/DESIGN.md +451 -0
  190. package/web/references/notion/DESIGN.md +271 -475
  191. package/web/references/nrise/DESIGN.md +417 -0
  192. package/web/references/ohouse/DESIGN.md +210 -549
  193. package/web/references/oliveyoung/DESIGN.md +217 -326
  194. package/web/references/ollama/DESIGN.md +241 -308
  195. package/web/references/onestore/DESIGN.md +248 -0
  196. package/web/references/palantir/DESIGN.md +256 -0
  197. package/web/references/panasonic/DESIGN.md +276 -0
  198. package/web/references/patternfly/DESIGN.md +259 -0
  199. package/web/references/payhere/DESIGN.md +438 -0
  200. package/web/references/pega/DESIGN.md +262 -0
  201. package/web/references/peoplefund/DESIGN.md +431 -0
  202. package/web/references/petfriends/DESIGN.md +428 -0
  203. package/web/references/pinkfong/DESIGN.md +199 -367
  204. package/web/references/pinterest/DESIGN.md +258 -308
  205. package/web/references/portone/DESIGN.md +446 -0
  206. package/web/references/poya/DESIGN.md +286 -0
  207. package/web/references/pozalabs/DESIGN.md +438 -0
  208. package/web/references/protopie/DESIGN.md +419 -0
  209. package/web/references/qraft/DESIGN.md +448 -0
  210. package/web/references/queenit/DESIGN.md +432 -0
  211. package/web/references/quotabook/DESIGN.md +449 -0
  212. package/web/references/rebellions/DESIGN.md +449 -0
  213. package/web/references/recruit/DESIGN.md +247 -0
  214. package/web/references/remember/DESIGN.md +202 -396
  215. package/web/references/resend/DESIGN.md +274 -348
  216. package/web/references/returnzero/DESIGN.md +460 -0
  217. package/web/references/sakura-internet/DESIGN.md +269 -0
  218. package/web/references/samsung/DESIGN.md +157 -359
  219. package/web/references/sandoll/DESIGN.md +445 -0
  220. package/web/references/sanity/DESIGN.md +241 -375
  221. package/web/references/saramin/DESIGN.md +465 -0
  222. package/web/references/scatterlab/DESIGN.md +412 -0
  223. package/web/references/selectstar/DESIGN.md +439 -0
  224. package/web/references/servicenow/DESIGN.md +289 -0
  225. package/web/references/shiftee/DESIGN.md +468 -0
  226. package/web/references/shinhanbank/DESIGN.md +161 -341
  227. package/web/references/shinhancard/DESIGN.md +208 -319
  228. package/web/references/sionic/DESIGN.md +454 -0
  229. package/web/references/sktelecom/DESIGN.md +310 -0
  230. package/web/references/socar/DESIGN.md +125 -32
  231. package/web/references/softbank/DESIGN.md +231 -0
  232. package/web/references/solapi/DESIGN.md +483 -0
  233. package/web/references/sony/DESIGN.md +234 -0
  234. package/web/references/soop/DESIGN.md +261 -0
  235. package/web/references/spacex/DESIGN.md +184 -323
  236. package/web/references/spotify/DESIGN.md +253 -394
  237. package/web/references/squeezebits/DESIGN.md +441 -0
  238. package/web/references/stayfolio/DESIGN.md +422 -0
  239. package/web/references/stripe/DESIGN.md +212 -491
  240. package/web/references/supabase/DESIGN.md +244 -316
  241. package/web/references/supertone/DESIGN.md +413 -0
  242. package/web/references/tabling/DESIGN.md +415 -0
  243. package/web/references/taishinbank/DESIGN.md +243 -0
  244. package/web/references/teamlab/DESIGN.md +240 -0
  245. package/web/references/teamsparta/DESIGN.md +472 -0
  246. package/web/references/tellingme/DESIGN.md +392 -0
  247. package/web/references/tesla/DESIGN.md +244 -427
  248. package/web/references/thsr/DESIGN.md +284 -0
  249. package/web/references/thumbtack/DESIGN.md +302 -0
  250. package/web/references/together.ai/DESIGN.md +257 -304
  251. package/web/references/toss/DESIGN.md +251 -593
  252. package/web/references/toss-securities/DESIGN.md +255 -178
  253. package/web/references/tossbank/DESIGN.md +195 -491
  254. package/web/references/toyota/DESIGN.md +238 -0
  255. package/web/references/tving/DESIGN.md +197 -245
  256. package/web/references/typed/DESIGN.md +413 -0
  257. package/web/references/uber/DESIGN.md +256 -333
  258. package/web/references/udn/DESIGN.md +250 -0
  259. package/web/references/upbit/DESIGN.md +145 -256
  260. package/web/references/upstage/DESIGN.md +211 -204
  261. package/web/references/uswds/DESIGN.md +287 -0
  262. package/web/references/vercel/DESIGN.md +236 -440
  263. package/web/references/vuno/DESIGN.md +413 -0
  264. package/web/references/wanted/DESIGN.md +215 -487
  265. package/web/references/weverse/DESIGN.md +437 -0
  266. package/web/references/wise/DESIGN.md +223 -231
  267. package/web/references/wisetracker/DESIGN.md +462 -0
  268. package/web/references/wooribank/DESIGN.md +245 -0
  269. package/web/references/yanolja/DESIGN.md +250 -419
  270. package/web/references/yeogiotte/DESIGN.md +235 -418
  271. package/web/references/zapier/DESIGN.md +256 -377
  272. package/web/references/zendesk/DESIGN.md +288 -0
  273. package/web/references/zigzag/DESIGN.md +200 -621
  274. package/dist/install-skills-7UUDOLG2.js +0 -734
  275. package/dist/install-skills-7UUDOLG2.js.map +0 -1
@@ -0,0 +1,422 @@
1
+ ---
2
+ id: stayfolio
3
+ name: Stayfolio
4
+ display_name_kr: 스테이폴리오
5
+ country: KR
6
+ category: consumer-tech
7
+ homepage: "https://www.stayfolio.com/"
8
+ primary_color: "#1a1a1a"
9
+ logo:
10
+ type: favicon
11
+ slug: "https://www.google.com/s2/favicons?domain=stayfolio.com&sz=128"
12
+ verified: "2026-07-02"
13
+ added: "2026-07-02"
14
+ omd: "0.1"
15
+ tokens:
16
+ source: live-extract
17
+ extracted: "2026-07-02"
18
+ note: "Editorial monochrome stay-curation platform. Ink ladder near-black (#181818 body / #171719 headings / #1a1a1a nav-logo / #000000 solid CTA). Single saturated accent = promo blue #017bc6 on marketing banners only. Near-shadowless; sharp 0px photo cards; pill controls."
19
+ colors:
20
+ ink: "#181818"
21
+ ink-heading: "#171719"
22
+ ink-brand: "#1a1a1a"
23
+ black: "#000000"
24
+ stay-title: "#333333"
25
+ muted: "#6b6b6e"
26
+ faint: "#979799"
27
+ disabled: "#999999"
28
+ canvas: "#ffffff"
29
+ surface: "#f2f2f2"
30
+ surface-alt: "#f5f5f5"
31
+ hairline: "#dfe0e2"
32
+ hairline-alt: "#cccccc"
33
+ promo-blue: "#017bc6"
34
+ on-dark: "#ffffff"
35
+ typography:
36
+ family: { sans: "Pretendard JP Variable", fallback: "Pretendard" }
37
+ nav: { size: 16, weight: 600, tracking: 0, use: "Uppercase Latin top-nav labels (FIND STAY, JOURNAL, PRE-ORDER)" }
38
+ section: { size: 28, weight: 600, lineHeight: 1.29, tracking: -0.56, use: "Editorial section headline (H2)" }
39
+ stay-title: { size: 20, weight: 600, lineHeight: 1.40, tracking: -0.2, use: "Stay / property name (H3)" }
40
+ body: { size: 14, weight: 400, lineHeight: 1.50, use: "Body copy, captions, UI text" }
41
+ spacing: { xs: 4, sm: 8, base: 16, lg: 20, xl: 24, xxl: 40, section: 64 }
42
+ rounded: { none: 0, button: 20, pill: 100, full: 9999 }
43
+ shadow:
44
+ none: "none"
45
+ soft: "rgba(0,0,0,0.08) 0px 4px 8px"
46
+ components:
47
+ cta-solid: { type: button, bg: "#000000", fg: "#ffffff", radius: "20px", padding: "8px 16px", height: "40px", font: "16px / 500", use: "Solid primary CTA (지도 / Map toggle on FIND STAY)" }
48
+ nav-tab: { type: tab, fg: "#1a1a1a", font: "16px / 600", active: "text #1a1a1a + 2px bottom border #1a1a1a", use: "Uppercase Latin top-nav item (FIND STAY, JOURNAL)" }
49
+ region-toggle: { type: tab, bg: "#ffffff", fg: "#181818", border: "1px solid #dfe0e2", radius: "100px", height: "44px", shadow: "rgba(0,0,0,0.08) 0px 4px 8px", active: "filled white pill", use: "국내/해외 segmented region toggle" }
50
+ search-pill: { type: input, bg: "#ffffff", fg: "#181818", border: "1px solid #dfe0e2", radius: "100px", height: "44px", font: "14px / 400", use: "Hero search / filter pill (어디로 떠날까요?)" }
51
+ stay-card: { type: card, bg: "#ffffff", fg: "#333333", radius: "0px", use: "Editorial stay card — full-bleed photo, sharp 0px corners, no border/shadow" }
52
+ promo-banner: { type: card, bg: "#017bc6", fg: "#ffffff", radius: "0px", use: "Promotional banner / tag — sole saturated color accent" }
53
+ lang-item: { type: listItem, fg: "#999999", font: "14px / 400", use: "Language switch item (한국어 / English), inactive faint grey" }
54
+ components_harvested: true
55
+ ---
56
+
57
+ # Design System Inspiration of Stayfolio
58
+
59
+ ## 1. Visual Theme & Atmosphere
60
+
61
+ Stayfolio (스테이폴리오) is Korea's curated boutique-stay platform, and its homepage behaves less like a booking engine than like a printed travel monograph rendered on screen. The canvas is pure white (`#ffffff`), the photography is full-bleed and edge-to-edge, and nearly all chrome recedes so the imagery of each stay carries the page. Text sits in a refined near-black ink (`#181818`) — never a hard pure-black for reading — which lends the layout a quiet, editorial gravity. There is no chrome-heavy "app" feeling here; the design trusts the space of each property and the restraint of a magazine art director.
62
+
63
+ The typographic personality is Korean-premium and understated. The system runs on **Pretendard JP Variable** across the entire interface, and the hierarchy is carried almost entirely by weight and size rather than color: editorial section headlines (H2) sit at 28px / weight 600 with tight `-0.56px` tracking (`#171719`), individual stay names (H3) drop to 20px / 600 with `-0.2px` tracking in a softer graphite (`#333333`), and body/UI text settles at a calm 14px / weight 400. Latin navigation labels — `FIND STAY`, `PROMOTION`, `JOURNAL`, `PRE-ORDER` — are set in uppercase at 16px / 600 in the brand ink (`#1a1a1a`), reading like the section dividers of a print catalogue.
64
+
65
+ What defines Stayfolio is its monochrome discipline. The palette is an *ink ladder* of near-blacks (`#181818` body, `#171719` headings, `#1a1a1a` nav/logotype, pure `#000000` for the one solid CTA — the "지도" map toggle at 20px radius) layered over a cool paper-grey surface system (`#f2f2f2`, `#f5f5f5`) and hairline dividers (`#dfe0e2`, `#cccccc`). Depth is almost entirely flat: `box-shadow: none` across headings, nav, and stay cards, with a single soft lift (`rgba(0,0,0,0.08) 0px 4px 8px`) reserved for the floating region-toggle pill. The one saturated color in the entire system is a promotional blue (`#017bc6`) that appears only on marketing banners and tags — everywhere else the brand is black, white, and photograph. Stay cards themselves use sharp `0px` corners so the image reads as a framed plate, while interactive controls (region toggle, search field) are full `100px` pills.
66
+
67
+ **Key Characteristics:**
68
+ - Full-bleed editorial photography over a pure white (`#ffffff`) canvas — imagery is the interface
69
+ - Monochrome *ink ladder*: `#181818` body, `#171719` headings, `#1a1a1a` nav, `#000000` solid CTA
70
+ - Single typeface (Pretendard JP Variable) doing all work via weight/size, not color
71
+ - Uppercase Latin nav labels at 16px / 600 (`FIND STAY`, `JOURNAL`) — print-catalogue rhythm
72
+ - Near-shadowless: `box-shadow: none` everywhere except the floating region pill
73
+ - Sharp `0px` photo cards vs. full `100px` pill controls — a deliberate geometric contrast
74
+ - One saturated accent only — promo blue (`#017bc6`) confined to marketing banners/tags
75
+ - Cool paper-grey surfaces (`#f2f2f2`, `#f5f5f5`) + hairlines (`#dfe0e2`, `#cccccc`) for separation
76
+ - Graphite muted ladder (`#6b6b6e` → `#979799` → `#999999`) for secondary/tertiary text
77
+
78
+ ## 2. Color Palette & Roles
79
+
80
+ ### Ink (Near-Black Ladder)
81
+ - **Body Ink** (`#181818`): The dominant text color across the entire site — captions, body copy, UI labels. A refined near-black, never pure black, giving reading text an editorial softness.
82
+ - **Heading Ink** (`#171719`): Section headlines (H2). A fractionally cooler near-black for the largest editorial titles.
83
+ - **Brand Ink** (`#1a1a1a`): The logotype and uppercase Latin nav labels. This is the brand's signature black — the primary_color.
84
+ - **Pure Black** (`#000000`): Reserved for the single solid CTA — the "지도" (Map) toggle — and maximum-contrast marks.
85
+ - **Stay Title Graphite** (`#333333`): Individual stay/property names (H3). A softer graphite that sits below headings in the hierarchy.
86
+
87
+ ### Muted & Tertiary
88
+ - **Muted Slate** (`#6b6b6e`): Secondary text, metadata, supporting captions.
89
+ - **Faint Grey** (`#979799`): Tertiary labels and low-emphasis text.
90
+ - **Disabled Grey** (`#999999`): Inactive controls such as the unselected language switch (한국어 / English).
91
+
92
+ ### Surface & Neutral
93
+ - **Pure White** (`#ffffff`): Page background, card surfaces, text on dark/photo overlays.
94
+ - **Paper Grey** (`#f2f2f2`): The primary tinted surface for segmented sections and placeholder blocks.
95
+ - **Paper Grey Alt** (`#f5f5f5`): A secondary near-white surface for alternating bands.
96
+ - **Hairline** (`#dfe0e2`): Thin borders on the region toggle and search pills — the main separation device in a shadowless system.
97
+ - **Hairline Alt** (`#cccccc`): Lighter divider grey for secondary rules.
98
+
99
+ ### Accent
100
+ - **Promo Blue** (`#017bc6`): The only saturated color in the system, confined to promotional banners and tags. It is intentionally *not* the brand color — the brand is monochrome; the blue is a marketing signal.
101
+
102
+ ## 3. Typography Rules
103
+
104
+ ### Font Family
105
+ - **Primary**: `Pretendard JP Variable` (with `Pretendard` and system fallbacks) — a single variable family carries the entire interface, Korean and Latin alike.
106
+
107
+ ### Hierarchy
108
+
109
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
110
+ |------|------|------|--------|-------------|----------------|-------|
111
+ | Nav Label | Pretendard JP | 16px (1.00rem) | 600 | — | normal | Uppercase Latin (FIND STAY, JOURNAL, PRE-ORDER) |
112
+ | Section Heading (H2) | Pretendard JP | 28px (1.75rem) | 600 | 1.29 (36px) | -0.56px | Editorial section titles |
113
+ | Stay Title (H3) | Pretendard JP | 20px (1.25rem) | 600 | 1.40 (28px) | -0.2px | Stay / property names |
114
+ | Body | Pretendard JP | 14px (0.88rem) | 400 | 1.50 | normal | Body copy, captions, UI text |
115
+
116
+ ### Principles
117
+ - **One family, weight-led hierarchy**: Pretendard JP Variable does every job. Hierarchy comes from size + weight (600 for titles/nav, 400 for body), never from switching typefaces.
118
+ - **Tight tracking scales with size**: -0.56px at 28px headings, -0.2px at 20px stay titles, normal at body. Larger editorial type compresses; reading text stays open.
119
+ - **Uppercase Latin as structure**: The uppercase 16px / 600 Latin nav labels function like the running heads of a print magazine, anchoring the editorial tone.
120
+ - **Hangul-first reading**: Body sits at a deliberate 14px / 1.5 line-height, generous for dense hangul legibility inside long editorial stay descriptions.
121
+
122
+ ## 4. Component Stylings
123
+
124
+ ### Buttons
125
+
126
+ **Solid CTA (지도 / Map)**
127
+ - Background: `#000000`
128
+ - Text: `#ffffff`
129
+ - Radius: 20px
130
+ - Padding: 8px 16px
131
+ - Height: 40px
132
+ - Font: 16px weight 500 Pretendard JP
133
+ - Use: The system's single solid primary action (map toggle on FIND STAY)
134
+
135
+ **Text CTA (FIND STAY)**
136
+ - Text: `#1a1a1a`
137
+ - Font: 16px weight 600 Pretendard JP
138
+ - Use: Uppercase Latin text actions in the nav; no fill, no border — type only
139
+
140
+ ### Inputs & Forms
141
+
142
+ **Search / Filter Pill**
143
+ - Background: `#ffffff`
144
+ - Text: `#181818`
145
+ - Border: 1px solid `#dfe0e2`
146
+ - Radius: 100px
147
+ - Height: 44px
148
+ - Font: 14px weight 400 Pretendard JP
149
+ - Use: Hero search field ("어디로 떠날까요?") and date/guest filter pills
150
+
151
+ ### Tabs & Toggles
152
+
153
+ **Region Toggle (국내 / 해외)**
154
+ - Background: `#ffffff`
155
+ - Text: `#181818`
156
+ - Border: 1px solid `#dfe0e2`
157
+ - Radius: 100px
158
+ - Height: 44px
159
+ - Shadow: `rgba(0,0,0,0.08) 0px 4px 8px`
160
+ - Active: filled white pill segment
161
+ - Use: Domestic / overseas segmented region toggle — the only element carrying a soft shadow
162
+
163
+ **Nav Tabs**
164
+ - Text: `#1a1a1a`
165
+ - Font: 16px weight 600 Pretendard JP
166
+ - Active: text `#1a1a1a` with a 2px bottom border `#1a1a1a`
167
+ - Use: Top navigation (FIND STAY, PROMOTION, JOURNAL, PRE-ORDER)
168
+
169
+ ### Cards & Containers
170
+
171
+ **Editorial Stay Card**
172
+ - Background: `#ffffff`
173
+ - Text: `#333333`
174
+ - Radius: 0px
175
+ - Use: The workhorse — a full-bleed photograph with the stay name (`#333333`, 20px) beneath, no border, no shadow, sharp corners so the image reads as a framed plate
176
+
177
+ **Promotional Banner**
178
+ - Background: `#017bc6`
179
+ - Text: `#ffffff`
180
+ - Radius: 0px
181
+ - Use: Marketing banners and promo tags — the sole saturated-color surface in the system
182
+
183
+ ### List Items
184
+
185
+ **Language Switch Item**
186
+ - Text: `#999999`
187
+ - Font: 14px weight 400 Pretendard JP
188
+ - Use: Language switch (한국어 / English); inactive items sit in faint grey, the active locale in ink
189
+
190
+ ---
191
+
192
+ **Verified:** 2026-07-02 (omd:add-reference CREATE — Tier 1 live inspect)
193
+ **Tier 1 sources:** https://www.stayfolio.com/, https://www.stayfolio.com/findstay, https://brunch.co.kr/@stayfolio
194
+ **Tier 2 sources:** getdesign.md/stayfolio (0 DESIGN.md files — not covered); styles.refero.design/?q=stayfolio (no Stayfolio-specific style; returns default gallery)
195
+ **Conflicts unresolved:** none
196
+
197
+ ## 5. Layout Principles
198
+
199
+ ### Spacing System
200
+ - Base unit: ~8px
201
+ - Scale: 4px, 8px, 16px, 20px, 24px, 40px, 64px
202
+ - Notable: Solid CTA padding lands at 8px 16px; the airy vertical rhythm between full-bleed photo sections is the dominant spacing signal
203
+
204
+ ### Grid & Container
205
+ - Full-bleed photography sections stacked vertically, each a "plate" in an editorial layout
206
+ - Stay cards arranged in responsive multi-column grids beneath section headlines
207
+ - Floating region toggle + search pills sit over the hero as the only persistent interactive chrome
208
+ - Content alternates white (`#ffffff`) and paper-grey (`#f2f2f2`) bands for gentle segmentation
209
+
210
+ ### Whitespace Philosophy
211
+ - **Imagery over density**: The layout gives each stay generous room; whitespace frames photography like a gallery wall.
212
+ - **Flat segmentation**: Sections separate by background tint (`#f2f2f2` vs `#ffffff`) and hairlines (`#dfe0e2`), never by heavy borders or shadow stacks.
213
+ - **Editorial rhythm**: Uppercase Latin section labels + tight-tracked H2 headlines create a magazine-like cadence down the page.
214
+
215
+ ### Border Radius Scale
216
+ - None (0px): Stay cards, photo plates, promo banners — sharp editorial framing
217
+ - Button (20px): The solid map CTA
218
+ - Pill (100px): Region toggle, search/filter fields
219
+ - Full (9999px): Circular icon buttons
220
+
221
+ ## 6. Depth & Elevation
222
+
223
+ | Level | Treatment | Use |
224
+ |-------|-----------|-----|
225
+ | Flat (Level 0) | No shadow | Page background, stay cards, headings, most surfaces |
226
+ | Tint (Level 1) | `#f2f2f2` background shift | Section / card separation without elevation |
227
+ | Hairline (Level 2) | `1px solid #dfe0e2` border | Pill controls, dividers |
228
+ | Soft lift (Level 3) | `rgba(0,0,0,0.08) 0px 4px 8px` | The floating region toggle pill only |
229
+
230
+ **Shadow Philosophy**: Stayfolio is a near-shadowless, flat editorial system. Live inspection returned `box-shadow: none` across headings, nav, and stay cards; the only measured elevation is a single soft `rgba(0,0,0,0.08) 0px 4px 8px` on the floating region-toggle pill so it reads as hovering over the hero photograph. Depth otherwise comes from the photography itself and from flat paper-grey (`#f2f2f2`) surfaces divided by thin `#dfe0e2` hairlines. This restraint keeps the focus on imagery and gives the product the calm of a printed catalogue rather than a card-stacked app.
231
+
232
+ ## 7. Do's and Don'ts
233
+
234
+ ### Do
235
+ - Let full-bleed photography carry the page — chrome should recede
236
+ - Use Pretendard JP Variable for everything; drive hierarchy with weight (600) and size, not color
237
+ - Keep text in the near-black ink ladder (`#181818` body, `#171719` headings, `#1a1a1a` nav)
238
+ - Reserve pure black (`#000000`) for the single solid CTA
239
+ - Use sharp `0px` corners on photo/stay cards so images read as framed plates
240
+ - Use full `100px` pills for interactive controls (region toggle, search fields)
241
+ - Separate sections with paper-grey tint (`#f2f2f2`) and `#dfe0e2` hairlines, not shadows
242
+ - Set uppercase Latin nav labels at 16px / 600 for the print-catalogue rhythm
243
+
244
+ ### Don't
245
+ - Spread the promo blue (`#017bc6`) beyond marketing banners — the brand is monochrome
246
+ - Use drop shadows for elevation — the system is flat except the one floating pill
247
+ - Round the photo/stay cards — sharp `0px` framing is the editorial signature
248
+ - Introduce a second typeface — Pretendard JP does every job
249
+ - Use pure black (`#000000`) for body text — reserve the softer `#181818`
250
+ - Add a second saturated accent color — black, white, and photograph is the whole palette
251
+ - Set headlines in a light weight — editorial titles are weight 600
252
+ - Use positive letter-spacing on headlines — Stayfolio tracks tight (-0.56px at 28px)
253
+
254
+ ## 8. Responsive Behavior
255
+
256
+ ### Breakpoints
257
+ | Name | Width | Key Changes |
258
+ |------|-------|-------------|
259
+ | Mobile | <640px | Single column, stay cards stack, floating pills collapse |
260
+ | Tablet | 640-1024px | 2-column stay grids, moderate padding |
261
+ | Desktop | 1024-1440px | Full multi-column editorial grids, full-bleed hero |
262
+
263
+ ### Touch Targets
264
+ - Region toggle and search pills at 44px height — comfortably tappable
265
+ - Solid map CTA at 40px height with 8px 16px padding
266
+ - Nav labels spaced for touch within the header
267
+
268
+ ### Collapsing Strategy
269
+ - Hero: full-bleed photograph maintained; overlaid pills stack/collapse on mobile
270
+ - Stay grids: multi-column → 2-up → single stacked column
271
+ - Section headlines: 28px H2 compresses on mobile, weight 600 maintained
272
+ - White / paper-grey alternating bands keep full-width treatment
273
+
274
+ ### Image Behavior
275
+ - Stay photography stays full-bleed and sharp-cornered (`0px`) at every breakpoint
276
+ - Cards carry no shadow at any size, consistent with the flat system
277
+ - Aspect ratios are preserved so each plate keeps its editorial framing
278
+
279
+ ## 9. Agent Prompt Guide
280
+
281
+ ### Quick Color Reference
282
+ - Body text: Body Ink (`#181818`)
283
+ - Headings: Heading Ink (`#171719`)
284
+ - Nav / logotype: Brand Ink (`#1a1a1a`)
285
+ - Solid CTA: Pure Black (`#000000`)
286
+ - Stay titles: Graphite (`#333333`)
287
+ - Secondary text: Muted Slate (`#6b6b6e`)
288
+ - Tertiary / disabled: Faint Grey (`#979799`), Disabled Grey (`#999999`)
289
+ - Background: Pure White (`#ffffff`)
290
+ - Tinted surface: Paper Grey (`#f2f2f2`), Alt (`#f5f5f5`)
291
+ - Hairline: `#dfe0e2`, Alt `#cccccc`
292
+ - Promo accent: Promo Blue (`#017bc6`) — banners only
293
+
294
+ ### Example Component Prompts
295
+ - "Create a full-bleed hero: edge-to-edge photograph, no chrome. Overlay a region toggle pill — white `#ffffff` background, 1px solid `#dfe0e2` border, 100px radius, 44px height, soft `rgba(0,0,0,0.08) 0px 4px 8px` shadow. Uppercase Latin nav labels at 16px weight 600, `#1a1a1a`."
296
+ - "Design an editorial stay card: white `#ffffff` background, full-bleed photo, sharp `0px` corners, no border, no shadow. Stay name below in Pretendard JP 20px weight 600, `#333333`, -0.2px tracking."
297
+ - "Build a solid CTA: pure black `#000000` background, white text, 20px radius, 8px 16px padding, 16px weight 500."
298
+ - "Create a section band: paper-grey `#f2f2f2` background. Section headline in Pretendard JP 28px weight 600, `#171719`, -0.56px tracking. Cards inside are white `#ffffff` with sharp `0px` corners."
299
+
300
+ ### Iteration Guide
301
+ 1. Photography leads — keep chrome minimal and let images fill the frame
302
+ 2. One typeface (Pretendard JP Variable); hierarchy via weight 600 vs 400 and size
303
+ 3. Stay in the ink ladder: `#181818` body, `#171719` headings, `#1a1a1a` nav, `#000000` solid CTA
304
+ 4. No shadows except the one floating region pill; separate with `#f2f2f2` tint + `#dfe0e2` hairlines
305
+ 5. Sharp `0px` corners on cards/photos; full `100px` pills on controls
306
+ 6. Promo blue (`#017bc6`) only on marketing banners — never structural
307
+ 7. Tight negative tracking on headlines, normal on body
308
+
309
+ ---
310
+
311
+ ## 10. Voice & Tone
312
+
313
+ Stayfolio's voice is **quiet, sensory, and curatorial** — the register of a well-read travel editor rather than a booking site. Copy leans into mood and place, inviting rather than selling: the homepage headline "비가 오면 짙어지는 산내음, 숲속 스테이로 떠나요" ("When it rains the scent of the mountains deepens — set out for a forest stay") is descriptive and atmospheric, treating the reader as someone seeking meaning in a stay, not a transaction. Section labels stay in restrained uppercase Latin (`FIND STAY`, `JOURNAL`, `PRE-ORDER`), signalling an editorial, almost printed sensibility.
314
+
315
+ | Context | Tone |
316
+ |---|---|
317
+ | Hero / editorial headlines | Sensory, evocative. "비가 오면 짙어지는 산내음, 숲속 스테이로 떠나요." Mood before mechanics. |
318
+ | Stay names | Left as the property's own name (엠버퓨어힐, 빌라 마르디, 취호가) — the curator steps back. |
319
+ | Nav labels | Minimal uppercase Latin: FIND STAY, PROMOTION, JOURNAL, PRE-ORDER. |
320
+ | Journal / magazine | Long-form editorial voice — essays about places and staying, not listings. |
321
+ | CTAs | Calm and low-pressure ("지도", "해외 스테이 지금 보러 가기"). |
322
+
323
+ **Voice samples (verbatim from live homepage):**
324
+ - "비가 오면 짙어지는 산내음, 숲속 스테이로 떠나요" — hero editorial headline (sensory, place-led). *(verified live 2026-07-02)*
325
+ - "해외 스테이 지금 보러 가기" — invitation-style CTA (calm, no urgency). *(verified live 2026-07-02)*
326
+ - "어디로 떠날까요?" — search field prompt (conversational, warm). *(verified live 2026-07-02)*
327
+
328
+ **Forbidden register**: hard-sell urgency, discount-shouting, exclamation-heavy hype, generic OTA phrasing ("best price guaranteed"). Stayfolio's authority comes from restraint and taste.
329
+
330
+ ## 11. Brand Narrative
331
+
332
+ Stayfolio (스테이폴리오) is a Korean curation platform for design-forward, independent stays — architecturally and aesthetically distinctive places to sleep that fall outside the standard hotel and OTA channels. Rather than aggregating every available room, Stayfolio's premise is editorial selection: a curated *folio* of stays worth traveling for, presented with the care of a magazine. The name itself — *stay* + *folio* — frames the product as a bound collection of considered places.
333
+
334
+ The site's information architecture makes this ethos explicit. Alongside `FIND STAY` (the curated inventory of domestic and overseas properties), the navigation carries `JOURNAL` (a long-form magazine about places and the culture of staying) and `PRE-ORDER` (physical publications), positioning the brand as a media property as much as a booking service. The homepage leads with atmosphere — full-bleed photography and sensory headlines — not price or availability.
335
+
336
+ What Stayfolio refuses, visible in its design, is the dense, promotion-cluttered chrome of mainstream travel platforms: no stacked discount badges, no urgency banners, no card-shadow-heavy "app" surface. What it embraces is a monochrome, photography-first, editorial interface — black, white, and image — where the single saturated blue appears only when a promotion genuinely needs to be flagged. The design *is* the curation: restraint signals taste, and taste is the product.
337
+
338
+ ## 12. Principles
339
+
340
+ 1. **Curation over aggregation.** Stayfolio shows a selected folio, not everything. *UI implication:* present each stay as a considered editorial plate with generous space; never bury it in a dense results grid with promotional noise.
341
+ 2. **Photography is the interface.** The image carries the decision. *UI implication:* full-bleed, sharp-cornered (`0px`) photography; keep chrome minimal so nothing competes with the picture.
342
+ 3. **Monochrome discipline.** The brand is black, white, and photograph. *UI implication:* stay in the ink ladder (`#181818`/`#171719`/`#1a1a1a`); reserve the promo blue (`#017bc6`) strictly for marketing flags.
343
+ 4. **Mood before mechanics.** Copy and layout lead with atmosphere, then function. *UI implication:* sensory headlines and imagery first; search, filters, and price recede into calm pill controls.
344
+ 5. **Flat and quiet.** Editorial calm beats app-like elevation. *UI implication:* no shadows except the one floating region pill; separate with paper-grey tint and hairlines.
345
+
346
+ ## 13. Personas
347
+
348
+ *Personas below are fictional archetypes informed by publicly observable Stayfolio user segments (design-conscious Korean travelers, staycationers seeking distinctive independent stays), not individual people.*
349
+
350
+ **정다은, 32, 서울.** A design-industry professional planning a quiet weekend away. Distrusts generic OTA listings and chooses Stayfolio because the curation feels like a trusted editor's shortlist rather than an ad-ranked feed. Books on the strength of the photography and the writing.
351
+
352
+ **김도현, 38, 경기.** A couple's-trip planner who reads the JOURNAL before deciding. Values that each stay is presented with mood and context, not just amenities and price. Appreciates the calm, uncluttered interface.
353
+
354
+ **이서연, 29, 부산.** A frequent staycationer collecting distinctive stays the way others collect restaurants. Uses the domestic/overseas toggle to browse, saves places for later, and trusts the brand's monochrome, magazine-like taste.
355
+
356
+ ## 14. States
357
+
358
+ | State | Treatment |
359
+ |---|---|
360
+ | **Empty (no stays match filters)** | White `#ffffff` canvas. A single Body Ink (`#181818`) line explaining no matches, with a calm text CTA to widen the search. No cluttered illustration. |
361
+ | **Empty (saved list, none yet)** | Muted Slate (`#6b6b6e`) single line inviting the user to explore FIND STAY. Quiet and editorial. |
362
+ | **Loading (stay grid fetch)** | Paper-grey (`#f2f2f2`) placeholder plates at final card dimensions, sharp `0px` corners. Flat pulse — no shadow shimmer, consistent with the shadowless system. |
363
+ | **Loading (image not yet decoded)** | `#f2f2f2` block holds the photograph's aspect ratio; image fades in when ready. |
364
+ | **Error (search / network failed)** | Inline message in Body Ink (`#181818`) with a plain-language explanation and a retry. No generic "오류가 발생했습니다" alone. |
365
+ | **Error (form validation)** | Field-level note below the pill input describing what's valid, not just "필수". |
366
+ | **Success (reservation / inquiry sent)** | Brief inline confirmation in a calm tone; next-step detail linked immediately below. No celebratory emoji. |
367
+ | **Skeleton** | `#f2f2f2` blocks at final dimensions, `0px` corners, flat pulse. |
368
+ | **Disabled** | Faint / Disabled Grey (`#979799` / `#999999`) text on reduced-opacity surface; the active locale/control stays in ink to preserve the monochrome read. |
369
+
370
+ ## 15. Motion & Easing
371
+
372
+ **Durations**:
373
+
374
+ | Token | Value | Use |
375
+ |---|---|---|
376
+ | `motion-fast` | 120ms | Hover, pill press, focus |
377
+ | `motion-standard` | 240ms | Card / image fade-in, sheet, dropdown |
378
+ | `motion-slow` | 400ms | Full-bleed hero / gallery transitions |
379
+
380
+ **Easings**:
381
+
382
+ | Token | Curve | Use |
383
+ |---|---|---|
384
+ | `ease-enter` | `cubic-bezier(0.2, 0.6, 0.25, 1)` | Arriving — cards, images, sheets |
385
+ | `ease-exit` | `cubic-bezier(0.4, 0.0, 1, 1)` | Dismissals |
386
+ | `ease-standard` | `cubic-bezier(0.25, 0.1, 0.25, 1)` | Two-way transitions |
387
+
388
+ **Motion rules**: Motion is soft and photographic — consistent with the editorial, gallery-like aesthetic. Stay images fade in gently from `#f2f2f2` placeholders at `motion-standard / ease-enter` rather than sliding; pill controls respond to press with a subtle opacity/scale shift. There is no bounce or spring — a curation product signals calm and taste, not playfulness. Under `prefers-reduced-motion: reduce`, all transitions collapse to instant and images appear without fade; the product remains fully functional.
389
+
390
+ <!--
391
+ OmD v0.1 Sources — Philosophy Layer (sections 10–15)
392
+
393
+ Tier 1 live inspect (2026-07-02) via playwright getComputedStyle on
394
+ https://www.stayfolio.com/ and https://www.stayfolio.com/findstay:
395
+ - body: Pretendard JP Variable / color rgb(24,24,24) #181818 / 14px / bg #ffffff
396
+ - Nav labels FIND STAY / PROMOTION / JOURNAL / PRE-ORDER — rgb(26,26,26) #1a1a1a / 16px / 600
397
+ - H2 "비가 오면 짙어지는 산내음, 숲속 스테이로 떠나요" — rgb(23,23,25) #171719 / 28px / 600 / lh 36px / -0.56px
398
+ - H3 stay names (엠버퓨어힐, 빌라 마르디, 취호가) — rgb(51,51,51) #333333 / 20px / 600 / 28px / -0.2px
399
+ - Solid CTA "지도" (FIND STAY) — bg rgb(0,0,0) #000000 / white / radius 20px / 8px 16px / 16px 500
400
+ - Region toggle "국내/해외" — border 1px solid rgb(223,224,226) #dfe0e2 / radius 100px / 44px / shadow rgba(0,0,0,0.08) 0px 4px 8px
401
+ - Language switch 한국어/English — rgb(153,153,153) #999999 / 14px
402
+ - box-shadow: none across headings/nav/cards (near-shadowless system)
403
+ - document.title homepage "스테이폴리오"; /findstay "FIND STAY | 스테이폴리오"
404
+
405
+ Token-level claims (§1-9) are sourced from this live inspection.
406
+
407
+ Voice samples (§10) are verbatim from the live homepage (hero H2, CTA label, search prompt).
408
+
409
+ Brand narrative (§11) is grounded in observable site behavior: Stayfolio (스테이폴리오)
410
+ is a Korean curated boutique-stay platform; the nav architecture (FIND STAY / JOURNAL /
411
+ PRE-ORDER), the editorial photography-first homepage, and the name (stay + folio) are all
412
+ directly observed. Broader company facts beyond the live site are treated as general public
413
+ knowledge, not directly quoted from a verified Stayfolio statement this turn.
414
+
415
+ Personas (§13) are fictional archetypes informed by publicly observable Stayfolio user
416
+ segments (design-conscious Korean travelers). Names are illustrative; they do not refer to
417
+ real people.
418
+
419
+ Interpretive claims (e.g., "the design is the curation", "monochrome discipline as a
420
+ rejection of OTA clutter") are editorial readings connecting Stayfolio's observed design to
421
+ its positioning, not directly sourced Stayfolio statements.
422
+ -->