:root{--ink:#20363a;--paper:#faf6ed;--accent:#a1442b;--line:#c8d0c7;--muted:#e8ede6;--white:#fffef8;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0;background-image:linear-gradient(#20363a06 1px,transparent 1px),linear-gradient(90deg,#20363a06 1px,transparent 1px);background-size:36px 36px}a{color:inherit;text-underline-offset:4px}button,a,summary,input,select,textarea{-webkit-tap-highlight-color:transparent}a:hover{color:var(--accent)}.skip{position:absolute;inset-block-start:-80px;padding:15px;background:white;z-index:20}.skip:focus{inset-block-start:0}.topbar{text-align:center;border-bottom:1px solid var(--line);padding:11px;font-size:12px;letter-spacing:.08em;text-transform:uppercase}header{max-width:1320px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:25px 40px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:14px;align-items:center;text-decoration:none;font-weight:800;line-height:1.1;letter-spacing:.06em}.brand img{object-fit:contain}.brand b{color:var(--accent)}nav{display:flex;align-items:center;gap:15px}details{position:relative}summary{cursor:pointer;padding:12px;border:1px solid var(--line);border-radius:28px;font-size:14px}details>div{display:none;position:absolute;inset-inline-end:0;inset-block-start:52px;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:15px;width:min(350px,85vw);z-index:10;max-height:60vh;overflow:auto;box-shadow:0 10px 30px #20363a18}details[open]>div{display:grid;gap:8px}details a{padding:8px;text-decoration:none;font-size:14px}.button,button{display:inline-block;max-width:100%;border:1px solid var(--ink);border-radius:7px;padding:12px 16px;background:transparent;color:var(--ink);font:inherit;font-size:14px;line-height:1.4;text-decoration:none;cursor:pointer}.primary,button[type=submit]{background:var(--accent);color:white;border-color:var(--accent)}main{max-width:1320px;margin:auto;padding:0 40px}.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:65px;align-items:center;padding:75px 0 65px;border-bottom:1px solid var(--line)}.eyebrow{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-weight:700}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(37px,4.7vw,65px);line-height:1.08;margin:17px 0 25px;max-width:850px}h2{font-size:28px;line-height:1.2}.deck{font-size:19px;line-height:1.7;max-width:680px}.micro{font-size:13px;line-height:1.6;color:#49615e}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.ledger-art{position:relative;padding:25px;background:#dce6dd;min-height:390px;transform:rotate(-2deg);border:1px solid #b9cbbd}.ledger-art>span{font:12px monospace}.receipt{background:var(--white);padding:25px;margin:15px auto;width:74%;box-shadow:8px 10px 0 #20363a14;transform:rotate(5deg);display:grid;gap:14px}.receipt small{font:11px monospace}.receipt b{font:70px Georgia;color:var(--accent);line-height:1}.receipt i{border-top:1px dashed #aebdb3;height:10px}.receipt strong{font:12px monospace;line-height:1.6}.stamp{position:absolute;inset-inline-end:8px;inset-block-end:25px;border:2px solid var(--accent);border-radius:50%;padding:20px;text-align:center;font:12px monospace;color:var(--accent);transform:rotate(14deg);background:#faf6edd9}.layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:64px;padding-top:35px}article{min-width:0}.editorial,.translation{font-size:12px;line-height:1.7}.translation{padding:14px;background:var(--muted);border-left:3px solid var(--accent)}.chapter{display:grid;grid-template-columns:36px 1fr;gap:12px;border-bottom:1px solid var(--line);padding:35px 0}.chapter h2{margin:0 0 16px}.chapter p{font-size:16px;line-height:1.85;margin:0}.num{font:12px monospace;color:var(--accent);padding-top:6px}.chapter .source{font-size:11px;margin-top:15px;line-height:1.6}.source a{margin-inline-end:9px}.rail{min-width:0}.note{border:1px solid var(--line);border-radius:8px;padding:27px;background:var(--muted);margin:20px 0}.note span{font:11px monospace}.note p,.blog-card p{font-size:13px;line-height:1.7}.app-card{padding:28px 25px;border:1px solid #a9b9ae;border-radius:25px;background:var(--white);display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:18px;align-items:center}.app-identity{display:flex;align-items:center;gap:12px}.app-identity img{width:54px;height:54px;border-radius:12px}.app-identity strong{font-size:23px;letter-spacing:.02em}.app-identity p{font-size:12px;margin:5px 0 0}.app-copy h2{font-size:28px;margin:25px 0}.product{width:112px;height:auto;border-radius:18px;align-self:center}.badges{display:flex;flex-wrap:wrap;gap:8px}.badges img{width:133px;height:auto;display:block}.badges a{display:inline-block}.app-terms{grid-column:1/-1;font-size:12px;line-height:1.7;margin:0}.app-card small{font-size:11px}.blog-card{padding:25px 5px}.sources{padding:25px 0}.sources p{font-size:13px;line-height:1.8}.next{padding:30px 0}.page-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.page-grid a{border:1px solid var(--line);padding:16px;border-radius:5px;text-decoration:none;line-height:1.5;font-size:13px;background:#fffef8a8}.end-app{margin:35px 0;padding:40px;background:var(--muted);border:1px solid var(--line)}.end-app p{font-size:13px;line-height:1.6}footer{display:grid;grid-template-columns:1fr 1fr;gap:45px;background:var(--ink);color:var(--paper);padding:45px max(40px,calc((100vw - 1240px)/2)) 100px}footer h2{font-family:Arial,sans-serif;font-size:14px;letter-spacing:.08em}footer p{font-size:12px;line-height:1.8}footer a{display:inline-block;margin:5px 12px 5px 0}footer .button{border-color:var(--paper);color:var(--paper)}.sticky{position:fixed;bottom:0;inset-inline:0;background:var(--white);border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:13px max(25px,calc((100vw - 1240px)/2));gap:20px;z-index:8;box-shadow:0 -5px 20px #20363a0c}.sticky span{font-size:13px}.sticky a{font-size:14px;color:var(--accent);font-weight:bold;white-space:nowrap}.tool{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:25px;margin:30px 0;scroll-margin-top:20px}.tool p{font-size:13px;line-height:1.7}.fields{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin:18px 0}label{display:grid;gap:8px;font-size:13px;line-height:1.4}input,select,textarea{background:#fff;border:1px solid #8b9e92;border-radius:5px;padding:12px;width:100%;min-width:0;font:inherit;color:var(--ink)}textarea{min-height:110px;resize:vertical}input:focus,textarea:focus,select:focus,a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid #c57d37;outline-offset:3px}button{margin:5px 8px 5px 0}#budget-result,#quote-result{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;margin-top:18px;font-size:14px}p,a,h1,h2,summary,label,span{overflow-wrap:anywhere}.tool h2{font-size:27px}.topbar{overflow-wrap:anywhere}
@media(max-width:1100px){.app-card{grid-template-columns:minmax(0,1fr)}.product{display:block;justify-self:start}.app-terms{grid-column:1}.layout{gap:35px}.hero{gap:35px}.app-copy h2{font-size:26px}}
@media(max-width:760px){header{padding:20px;flex-wrap:wrap;gap:18px}nav{width:100%;justify-content:space-between;gap:8px}nav>.button{padding:10px 12px}main{padding:0 20px}.hero{grid-template-columns:1fr;padding:40px 0;gap:30px}.hero .ledger-art{min-height:260px;width:90%;justify-self:center}.receipt{width:66%;padding:18px;gap:9px}.receipt b{font-size:45px}.stamp{padding:15px;font-size:10px}.layout{display:block;padding-top:25px}.rail{margin-top:20px}.app-card{grid-template-columns:minmax(0,1fr) 100px;padding:24px 22px;gap:16px}.product{width:100px}.app-terms{grid-column:1/-1}.app-copy h2{font-size:27px}.app-identity{gap:9px;flex-wrap:wrap}.app-identity strong{font-size:23px}.app-identity img{width:48px;height:48px}.chapter{padding:28px 0;grid-template-columns:25px 1fr;gap:9px}.chapter h2{font-size:27px}.chapter p{font-size:15px}.deck{font-size:17px}.end-app{padding:25px}.sticky span{font-size:11px}.sticky{padding:12px 20px;gap:12px}.sticky a{font-size:12px}footer{grid-template-columns:1fr;padding:30px 20px 100px;gap:25px}.tool{padding:20px}.fields{grid-template-columns:1fr}.page-grid{gap:9px}.page-grid a{padding:12px;font-size:12px}.topbar{font-size:10px}.hero-actions .button{width:100%}}
@media(max-width:370px){main{padding:0 15px}.app-card{padding:20px 16px;grid-template-columns:minmax(0,1fr) 84px;gap:12px}.product{width:84px}.badges img{width:120px}.app-copy h2{font-size:23px}.app-identity strong{font-size:21px}header{padding:18px 15px}summary{padding:10px;font-size:12px}.page-grid{grid-template-columns:1fr}}
@media print{header,.sticky,footer,.hero-art,.rail,.hero-actions,.end-app,nav,.topbar,.next,button{display:none}body{background:white}main{padding:0}.hero{padding:10px 0;display:block}.layout{display:block}.chapter{break-inside:avoid}a{color:black}}
/* Room to Retreat: quiet maroon, sand and door-shaped negative space. */
:root{--ink:#492f38;--paper:#f7f1e9;--accent:#783c50;--line:#c9b3ba;--muted:#e8d7dc;--white:#fffdf7}body{background-image:linear-gradient(90deg,#492f3805 1px,transparent 1px);background-size:75px 75px}.topbar{background:#492f38;color:#fffdf7;border:0}.brand{letter-spacing:.08em}.hero{grid-template-columns:1.25fr 1fr;padding:60px 0;border-bottom:1px solid #c9b3ba}.hero h1{font-family:Arial,sans-serif;font-weight:600;letter-spacing:-.04em;line-height:1.08}.ledger-art{background:#e8d7dc;border:0;transform:none;border-radius:140px 140px 0 0;min-height:360px;padding:30px;text-align:center}.ledger-art>strong{display:block;font:12px/1.8 monospace;letter-spacing:.06em;margin-top:15px}.retreat-door{width:130px;height:210px;margin:20px auto;position:relative;background:#783c50;border-radius:70px 70px 0 0}.retreat-door i{position:absolute;inset:15px 15px 0;background:#f7f1e9;border-radius:60px 60px 0 0}.retreat-door b{position:absolute;bottom:45px;left:35px;font:65px Arial;color:#783c50}.chapter{border-bottom:0;border-left:2px solid #c9b3ba;padding:5px 0 5px 24px;margin:35px 0;grid-template-columns:30px 1fr;gap:13px}.chapter .num{font:12px monospace;color:#783c50;padding-top:8px}.chapter h2{font-family:Arial,sans-serif;font-size:25px;font-weight:550}.note{border:0;border-radius:50px 50px 0 0;background:#e8d7dc;padding:35px 25px}.note h2{font-family:Arial,sans-serif;font-weight:550;font-size:28px}.app-card{border-color:#c9b3ba;border-radius:24px}.tool{border:1px solid #c9b3ba;border-top:5px solid #783c50;border-radius:0;background:#fffdf7}.tool h2{font-family:Arial,sans-serif;font-weight:550}.page-grid a{background:#fffdf7;border-radius:0;border-color:#c9b3ba}.end-app{background:#e8d7dc;border:0;border-radius:0 50px 0 0}.end-app h2{font-family:Arial,sans-serif;font-weight:550}.safety-note{font-size:13px;line-height:1.8;border-left:4px solid #783c50;background:#fffdf7;padding:17px 20px}.button,button{border-radius:4px}.primary,button[type=submit]{background:#783c50}footer{background:#492f38}.sticky{background:#fffdf7}
@media(max-width:760px){.hero{display:block;padding:40px 0}.hero h1{font-size:41px}.hero .ledger-art{margin:30px auto 0;width:87%;min-height:330px;max-width:400px}.retreat-door{height:180px;width:115px}.chapter{padding-left:15px;grid-template-columns:22px 1fr;gap:10px}.chapter h2{font-size:24px}.layout{display:block}.note{border-radius:40px 40px 0 0}}
@media(max-width:370px){.hero h1{font-size:37px}.chapter{padding-left:12px;gap:8px}.ledger-art>span{font-size:10px}.hero .ledger-art{width:90%;padding:25px}}

/* Mobile dropdown repair 2026-11-12: one viewport-contained nav anchor in LTR and RTL. */
@media(max-width:700px){
 header nav{position:relative;width:100%;max-width:100%;flex-wrap:wrap}
 header nav details{position:static}
 header nav details>div{position:absolute;left:0;right:0;inset-inline-start:0;inset-inline-end:0;top:calc(100% + 8px);inset-block-start:calc(100% + 8px);width:100%;min-width:0;max-width:100%;box-sizing:border-box;max-height:55vh;max-height:55dvh;overflow-x:hidden;overflow-y:auto;z-index:100}
 header nav details>div a{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;box-sizing:border-box}
}

/* Self-hosted Noto Sans KR three-glyph subset for the Korean language autonym. */
@font-face{font-family:PawLineKoreanAutonym;src:url('/assets/korean-autonym.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+D55C,U+AD6D,U+C5B4}
header nav a[hreflang=ko],header nav a[lang=ko],header nav a[href*="/ko/"]{font-family:PawLineKoreanAutonym,Arial,sans-serif}
