/* The personal journal: three perspectives, with a distinct commercial path. */
.sd-home { --sd-blue:#315cdb; --sd-ink:#242b29; color:var(--sd-ink); }
.sd-home section[id],.sd-home article[id] { scroll-margin-top:112px; }
.sd-home .sd-eyebrow { color:var(--sd-blue); font:500 10px/1.6 var(--mono); letter-spacing:.12em; display:flex; align-items:center; gap:10px; margin:0 0 24px; }
.sd-dot { width:6px; height:6px; border-radius:50%; background:var(--sd-blue); flex-shrink:0; }
.sd-home .sd-text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; min-height:44px; border-bottom:1px solid currentColor; color:inherit; font-size:14px; font-weight:500; text-decoration:none; }
.sd-text-link > span { font-size:19px; transition:transform .2s; }
.sd-text-link:hover > span { transform:translate(3px,-2px); }
.sd-home a:focus-visible { outline:3px solid var(--sd-blue); outline-offset:6px; }
.sd-hero { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); column-gap:72px; padding-top:70px; }
.sd-hero__copy { padding-top:12px; }
.sd-home .sd-hero h1 { font-size:clamp(38px,4.4vw,65px); line-height:1.22; letter-spacing:-.065em; font-weight:500; margin:0; max-width:none; }
.sd-hero h1 span { display:block; }
.sd-hero h1 span:last-child { color:var(--sd-blue); }
.sd-home .sd-hero__intro { font-size:16px; line-height:1.95; color:var(--text-2); max-width:470px; margin:28px 0 0; word-break:keep-all; overflow-wrap:break-word; }
.sd-hero__actions { display:flex; flex-wrap:wrap; align-items:center; gap:26px; margin-top:30px; }
.sd-portrait { margin:0; align-self:center; transform:rotate(2deg); padding:10px 10px 0; background:#fcfbf7; box-shadow:0 6px 25px #3029180d; border:1px solid #e3dfd5; }
.sd-portrait__image { overflow:hidden; background:#d4c4ac; }
.sd-portrait img { display:block; width:100%; height:auto; aspect-ratio:4/4.5; object-fit:cover; object-position:50% 50%; }
.sd-portrait figcaption { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:4px 14px; padding:18px 6px; }
.sd-portrait figcaption span:first-child { font-size:23px; letter-spacing:-.065em; }
.sd-portrait figcaption span:last-child { font-size:10px; color:var(--text-2); }
.sd-axis { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr 1fr; margin-top:64px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.sd-axis a { display:flex; justify-content:space-between; align-items:center; font-size:clamp(22px,3vw,36px); letter-spacing:-.04em; min-height:88px; padding:12px 24px; color:var(--sd-ink); }
.sd-axis a:first-child { padding-left:0; }
.sd-axis a+a { border-left:1px solid var(--line); }
.sd-axis a:last-child { padding-right:0; }
.sd-axis a span { font-size:20px; color:var(--sd-blue); }
.sd-axis a:hover { color:var(--sd-blue); }
.sd-perspectives { padding:76px 0 0; }
.sd-section-head { display:flex; gap:36px; justify-content:space-between; align-items:flex-end; }
.sd-home .sd-section-head h2 { font-size:clamp(26px,3vw,36px); letter-spacing:-.05em; line-height:1.35; font-weight:500; margin:0; }
.sd-section-head > p { max-width:345px; font-size:14px; color:var(--text-2); line-height:1.9; margin:0; word-break:keep-all; overflow-wrap:break-word; }
.sd-home .sd-section-head .sd-eyebrow { margin-bottom:15px; }
.perspective-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin-top:36px; }
.perspective-item { display:flex; flex-direction:column; border-top:1px solid var(--sd-ink); padding:22px 0 32px; min-width:0; }
.perspective-item__index { display:flex; justify-content:space-between; color:var(--text-3); font:11px/1.5 var(--mono); }
.perspective-item__index span:last-child { color:var(--sd-blue); font-size:16px; }
.sd-home .perspective-item h3 { font-size:36px; font-weight:500; letter-spacing:-.05em; margin:24px 0 10px; }
.sd-home .perspective-item__title { font-size:17px; font-weight:500; margin:0 0 13px; letter-spacing:-.025em; }
.sd-home .perspective-item__text { color:var(--text-2); font-size:14px; line-height:1.85; margin:0 0 23px; word-break:keep-all; overflow-wrap:break-word; }
.sd-home .perspective-item .sd-text-link { margin-top:auto; font-size:12px; align-self:flex-start; }
.sd-journal { padding:60px 0 72px; border-top:1px solid var(--line); }
.sd-section-intro { margin:20px 0 30px; font-size:15px; color:var(--text-2); }
.editorial .sd-home .home-posts { display:grid; grid-template-columns:1.15fr 1fr; gap:0 38px; }
.editorial .sd-home .home-posts .post:first-child { background:#e6e9e1; border-radius:2px; padding:36px; }
.editorial .sd-home .home-posts .post:first-child h3 { font-size:clamp(25px,3vw,37px); margin-top:28px; word-break:keep-all; overflow-wrap:break-word; }
.editorial .sd-home .home-posts .post:not(:first-child) h3 { font-size:22px; word-break:keep-all; overflow-wrap:break-word; }
.sd-connect { display:grid; grid-template-columns:1.15fr 1fr; border-top:1px solid var(--line); padding:0 0 60px; }
.sd-letter { background:#e7ecf8; padding:40px; position:relative; overflow:hidden; }
.sd-conversation { padding:40px 0 40px 48px; }
.sd-home .sd-connect h2 { font-size:clamp(26px,3vw,34px); line-height:1.4; letter-spacing:-.045em; font-weight:500; margin:0 0 18px; }
.sd-connect p:not(.sd-eyebrow) { max-width:360px; font-size:15px; line-height:1.85; color:var(--text-2); margin:0 0 28px; position:relative; z-index:1; }
.sd-letter .btn { position:relative; z-index:1; }
.sd-letter__mark { position:absolute; font:500 175px/1 var(--font); color:#315cdb0b; right:-3px; bottom:-33px; letter-spacing:-.1em; pointer-events:none; }
.sd-gim { display:grid; grid-template-columns:1.15fr 1fr; gap:48px; padding:40px; border:1px solid var(--line); background:#eeeee7; }
.sd-home .sd-gim h2 { font-size:27px; font-weight:500; letter-spacing:-.04em; line-height:1.45; margin:0; }
.sd-gim > div:last-child { align-self:center; }
.sd-gim p:not(.sd-eyebrow) { color:var(--text-2); line-height:1.9; font-size:14px; margin:0 0 18px; }
.sd-home .sd-gim .sd-eyebrow { font-size:9px; margin-bottom:14px; }
.sd-resources { display:flex; justify-content:space-between; gap:28px; align-items:center; padding:34px 0 42px; }
.sd-home .sd-resources h2 { font-size:14px; font-weight:500; margin:0 0 7px; }
.sd-resources p { color:var(--text-3); font-size:12px; margin:0; }
.sd-resources > div:last-child { display:flex; flex-wrap:wrap; gap:24px; }
.sd-home .sd-resources .sd-text-link { font-size:12px; }
/* Calm commercial navigation on the personal homepage. */
.editorial:has(.sd-home) .nav__cta { background:transparent; color:var(--text); border-color:var(--line-input); }
.editorial:has(.sd-home) .nav__cta:hover { background:var(--text); color:var(--bg); }
@media (max-width:900px) {
 .sd-hero { gap:32px; padding-top:44px; }
 .sd-home .sd-hero h1 { font-size:clamp(33px,5vw,48px); }
 .sd-hero__actions { gap:18px; }
 .sd-axis { margin-top:24px; }
 .sd-axis a { min-height:72px; }
 .sd-section-head { align-items:flex-start; gap:24px; }
 .sd-section-head > p { max-width:280px; }
 .perspective-grid { gap:22px; }
 .sd-letter { padding:30px; }
 .sd-conversation { padding-left:30px; }
 .sd-gim { padding:30px; gap:30px; }
}
@media (max-width:600px) {
 .sd-hero { grid-template-columns:1fr; gap:28px; padding-top:28px; }
 .sd-hero__copy { padding-top:0; }
 .sd-home .sd-eyebrow { font-size:9px; margin-bottom:20px; letter-spacing:.07em; }
 .sd-home .sd-hero h1 { font-size:clamp(32px,8.8vw,48px); line-height:1.25; }
 .sd-home .sd-hero__intro { font-size:15px; line-height:1.9; margin-top:23px; }
 .sd-hero__actions { gap:18px; margin-top:24px; }
 .sd-hero__actions .btn { font-size:14px; padding-inline:18px; }
 .sd-hero__actions .sd-text-link { font-size:13px; gap:12px; }
 .sd-portrait { width:calc(100% - 20px); max-width:360px; justify-self:center; margin-top:4px; }
 .sd-portrait img { aspect-ratio:1.2; }
 .sd-portrait figcaption { padding:12px 4px; }
 .sd-portrait figcaption span:first-child { font-size:20px; }
 .sd-axis { margin-top:10px; }
 .sd-axis { grid-template-columns:.62fr 1.19fr 1.19fr; }
 .sd-axis a { font-size:20px; padding:12px; min-height:66px; gap:6px; }
 .sd-axis a span { font-size:14px; }
 .sd-perspectives { padding-top:48px; }
 .sd-section-head { flex-direction:column; gap:18px; }
 .sd-section-head > p { max-width:none; font-size:14px; }
 .perspective-grid { grid-template-columns:1fr; gap:0; margin-top:26px; }
 .perspective-item { padding:20px 0 26px; }
 .sd-home .perspective-item h3 { font-size:32px; margin-top:14px; }
 .sd-home .perspective-item__text { margin-bottom:12px; }
 .sd-journal { padding:44px 0; }
 .sd-journal .sd-section-head { gap:8px; }
 .sd-section-intro { margin:15px 0 24px; font-size:14px; line-height:1.8; }
 .editorial .sd-home .home-posts { grid-template-columns:minmax(0,1fr); gap:0; }
 .editorial .sd-home .home-posts .post:first-child { padding:26px; }
 .editorial .sd-home .home-posts .post:first-child h3 { font-size:28px; margin-top:20px; }
 .sd-connect { grid-template-columns:1fr; padding-bottom:8px; }
 .sd-letter { padding:28px; }
 .sd-conversation { padding:34px 0; }
 .sd-gim { grid-template-columns:1fr; gap:20px; padding:26px; }
 .sd-home .sd-gim h2 { font-size:24px; }
 .sd-resources { flex-direction:column; align-items:flex-start; gap:14px; padding-block:30px; }
}
@media (prefers-reduced-motion:reduce) { .sd-text-link > span { transition:none; } }
/* Japanese prose wraps between characters; Korean retains word boundaries. */
html[lang="ja"] .sd-home :is(.sd-hero__intro,.sd-section-head>p,.perspective-item__text,.home-posts h3) { word-break:normal; }
/* 일본어는 단어 사이에 공백이 없어 keep-all 이면 제목 전체가 한 덩어리가 된다.
   위 47–48행이 120행의 ja 예외보다 구체적이라 예외가 먹지 않았다. 모바일 트랙도
   1fr(=minmax(auto,1fr))이라 가장 긴 덩어리만큼 벌어졌다 — 390px 에서 505px
   (2026-09-25 QA). 트랙은 minmax(0,1fr) 로 고정하고, ja 제목은 글자 단위로 끊는다. */
html[lang="ja"] .editorial .sd-home .home-posts .post h3 { word-break:normal; overflow-wrap:anywhere; }
