/* One visual language across the personal homepage and every reading route. */
body:has(.interior-design){background:#f8f3e7}
.interior-design{--ds-page:#f8f3e7;--ds-ink:#173c2e;--ds-ink-2:#4c6356;--ds-hairline:#d2dccf;--ds-primary:#173c2e;--ds-on-primary:#f8f3e7;--forest:#173c2e;--cream:#f8f3e7;--sage:#edf2e9;background:#f8f3e7;gap:24px;color:#173c2e;max-width:1120px!important;padding:18px 20px 36px!important;box-sizing:border-box}
.interior-design .language-switch{padding:0;min-height:44px}
.interior-design .prototype-bar{margin:0;padding:0 0 18px;border-bottom:1px solid #cdd8cb;min-height:52px}
.interior-design .brand{color:#173c2e;font-size:15px}
.interior-design .prototype-bar button{background:#173c2e;color:#f8f3e7;border:0;border-radius:9px;padding:10px 16px;min-height:44px}
.interior-design .back{margin:0;font-size:13px}
.interior-design .back a{padding:0;min-height:40px;color:#4c6356}
.interior-hero{background:#173c2e;color:#f8f3e7;border-radius:22px;overflow:hidden;display:grid;gap:0;margin-bottom:10px}
.interior-hero .file-header{padding:26px 24px 28px;gap:18px;justify-content:center}
.interior-hero .micro-label{color:#d5dfc4;font-size:12px}
.interior-hero .file-title{font-size:clamp(28px,4vw,43px);line-height:1.12;color:#f8f3e7;margin:0;letter-spacing:-.025em}
.interior-hero .file-intro{font-size:16px;line-height:1.55;color:#f8f3e7;margin:0;max-width:48ch}
.topic-art{margin:0;position:relative;background:#ede9db;min-width:0}
.topic-art img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.topic-art .personal-photo{aspect-ratio:1/1;object-position:center 35%}
.topic-art figcaption{font-size:10px;line-height:1.4;padding:7px 12px;color:#173c2e;background:#e9efdf;text-align:end}
.interior-design .editorial-section,.interior-design .file-group{margin:0;padding:24px;background:#fffef9;border:1px solid #d5ddcf;border-radius:16px;gap:16px}
.interior-design .editorial-section h2,.interior-design .file-group-heading{font-size:23px;line-height:1.25;color:#173c2e;margin:0 0 14px;font-family:var(--file-font-display)}
.interior-design p{margin-top:0}
.interior-design .editorial-section p,.interior-design .editorial-section li{font-size:15px;line-height:1.7}
.interior-design .editorial-section p:last-child{margin-bottom:0}
.interior-design .editorial-meta{color:#4c6356;font-size:12px;line-height:1.5}
.interior-design> .editorial-meta{margin:0;padding:0 4px}
.interior-design a{color:#173c2e;text-underline-offset:3px}
.interior-design .file-closing{padding:16px 4px;font-size:12px;line-height:1.6;max-width:75ch;color:#4c6356}
.interior-design .side-menu{background:#f8f3e7;color:#173c2e}
.interior-design .menu-link{border-color:#cdd8cb;color:#173c2e}
.interior-design .file-button{background:#173c2e;color:#f8f3e7;border:0;border-radius:8px;white-space:normal;text-align:center}
.interior-design .editorial-jumps{margin:0 0 8px;gap:10px;display:flex;flex-wrap:wrap}
.interior-design .editorial-jumps a{background:#e6eddf;border:1px solid #cbd7c5;border-radius:30px;padding:10px 17px;min-height:44px;box-sizing:border-box;font-size:13px;font-weight:600;text-decoration:none;display:flex;align-items:center}
.guide-grid,.news-grid,.reading-steps,.faq-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.interior-design .guide-card{padding:0 0 20px;border:1px solid #d5ddcf;background:#f8f3e7;border-radius:14px;overflow:hidden;min-width:0;display:flex;flex-direction:column}
.card-art{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;margin:0 0 18px}
.interior-design .guide-card> :not(img){margin-inline:18px}
.interior-design .guide-card h3{font-size:22px;line-height:1.22;margin-top:8px;margin-bottom:12px}
.interior-design .guide-card .editorial-link{margin:0;text-decoration:none}
.interior-design .guide-card .editorial-link:after{content:' ↗';font-family:Arial,sans-serif;font-size:17px}
.interior-design .guide-card p{font-size:14px;line-height:1.6;margin-bottom:0}
.interior-design .guide-card .editorial-meta{font-size:12px}
.interior-design .news-card{padding:22px;background:#edf2e9;border:0;border-radius:14px;min-width:0}
.interior-design .news-card:before{content:attr(data-item);display:block;color:#53705e;font-size:12px;font-weight:600;margin-bottom:18px}
.interior-design .news-card h3{font-size:23px;line-height:1.25;margin:12px 0 16px;color:#173c2e}
.interior-design .news-card a{display:inline-block;padding:10px 0;font-weight:600;font-size:13px}
.reading-steps .editorial-section,.faq-grid .editorial-section{border-top:3px solid #718d6d}
.step-index{display:block;font-size:12px;color:#53705e;font-weight:600;margin-bottom:18px}
.interior-design .expanded-hub{margin:0;background:#edf2e9;border-radius:16px;padding:24px;border:1px solid #d5ddcf}
.interior-design .expanded-hub section{margin:0 0 28px}
.interior-design .expanded-hub section:last-child{margin:0}
.interior-design .expanded-hub h2{font-size:23px;line-height:1.3;margin:0 0 14px}
.route-bridge{background:#173c2e;color:#f8f3e7;border-radius:18px;padding:26px;display:grid;gap:12px}
.route-bridge .micro-label{color:#d5dfc4}
.route-bridge p{font-family:var(--file-font-display);font-size:28px;line-height:1.2;margin:0}
.route-bridge a{color:#f8f3e7;font-weight:600;display:block;min-height:44px;align-content:center;font-size:14px}
.interior-design a:hover{text-decoration:underline}
.interior-design a:focus-visible,.interior-design button:focus-visible{outline:3px solid #9c751b;outline-offset:4px}
@media(min-width:750px){.interior-design{padding:26px 36px 48px!important;gap:28px}.interior-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.interior-hero .file-header{padding:34px}.topic-art{display:flex;flex-direction:column}.topic-art img{height:100%;min-height:290px;object-fit:cover}.topic-art .personal-photo{max-height:400px}.topic-art figcaption{flex-shrink:0}.guide-grid,.news-grid,.reading-steps,.faq-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.interior-design .editorial-section,.interior-design .file-group{padding:28px}.interior-design .news-card{padding:24px}.route-bridge{padding:32px}}
@media(max-width:350px){.interior-design{padding-inline:16px!important;gap:20px}.interior-hero .file-header{padding:24px 20px}.interior-hero .file-title{font-size:27px}.interior-design .editorial-section,.interior-design .file-group{padding:20px}.interior-design .news-card{padding:18px}.interior-design .editorial-section h2{font-size:22px}}
.interior-design .card-art{height:auto;flex:none;aspect-ratio:3/2}
