/* Public marketing pages; kept separate from the application's hashed CSS bundle. */
:root {
  --bg:#f6f9ff; --panel:#fff; --panel2:#eef2ff; --border:#dce4f3;
  --fg:#12204f; --dim:#435476; --muted:#5d6d8e; --accent:#4755d9; --accent-tint:#e9edff;
  --shadow:0 18px 44px -24px rgba(48,67,130,.28);
}
* { box-sizing:border-box }
html { scroll-behavior:smooth; scroll-padding-top:30px }
body { margin:0; background:var(--bg); color:var(--fg); font-family:Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif; line-height:1.75; word-break:keep-all; overflow-wrap:break-word; -webkit-text-size-adjust:100% }
a { color:var(--accent) }
button,summary,a { -webkit-tap-highlight-color:transparent }
a:focus-visible,summary:focus-visible { outline:3px solid var(--accent); outline-offset:5px }
.wrap { width:100%; max-width:1240px; margin:0 auto; padding:0 32px }
.skip-link { position:absolute; top:8px; left:16px; z-index:100; transform:translateY(-160%); padding:10px 18px; color:#fff; background:var(--accent); border-radius:10px }
.skip-link:focus { transform:none }
#main-content:focus { outline:none }
#ieum-bar[data-static] { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:36px; padding:6px 24px; font-size:12px; line-height:1.4; background:#f8fbff; border-bottom:1px solid var(--border) }
#ieum-bar[data-static] a { color:var(--dim); text-decoration:none }
header.site { position:relative; z-index:5; padding:18px 20px 0 }
header.site > .wrap { max-width:1270px; display:flex; align-items:center; justify-content:space-between; gap:28px; min-height:78px; padding:14px 26px; background:rgba(255,255,255,.8); border:1px solid #fff; border-radius:22px; box-shadow:0 8px 32px -18px #8199cc55,inset 0 1px 0 #fff; backdrop-filter:blur(16px) }
.brand { display:inline-flex; flex-shrink:0; align-items:center; gap:10px; text-decoration:none; color:var(--fg); line-height:1.1 }
.brand-mark { display:grid; place-items:center; width:38px; height:40px; border-radius:11px; color:white; background:linear-gradient(140deg,#80acff,#6577ef 55%,#8375e8); box-shadow:inset 1px 1px 2px #ffffff80,inset -2px -3px 5px #3c43c955,0 5px 10px #596dd42b; transform:rotate(-7deg) }
.brand-mark svg { width:24px; height:24px }
.brand-wordmark { font-size:25px; font-weight:800; letter-spacing:-1px }
.brand-wordmark small { display:block; margin-top:5px; color:var(--muted); font-size:8px; letter-spacing:1.4px; font-weight:600 }
nav.site { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:12px 26px }
nav.site a { color:var(--dim); text-decoration:none; font-size:13px; font-weight:600; white-space:nowrap; transition:color .2s }
nav.site a:hover { color:var(--accent) }
nav.site a.start { padding:10px 19px; color:var(--accent); border:1px solid #d4dcff; border-radius:99px; background:linear-gradient(130deg,#fff,#eff2ff); box-shadow:0 4px 12px #5c73c410 }
p { margin:0 0 14px }
h1,h2,h3 { line-height:1.4; margin:0; letter-spacing:-.045em; text-wrap:balance }
h1 { font-size:clamp(30px,4vw,44px); margin:12px 0 18px; line-height:1.3 }
h2 { font-size:clamp(25px,3vw,38px); margin:0 0 16px }
h3 { font-size:18px; margin:20px 0 8px }
p.lead { font-size:18px; color:var(--dim); margin:0 0 26px; max-width:64ch }
.cta { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:25px }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:52px; padding:13px 24px; border:1px solid transparent; border-radius:999px; font-size:14px; font-weight:700; line-height:1.5; text-decoration:none; transition:transform .2s,box-shadow .2s }
.btn span { font-size:19px; font-weight:400 }
.btn-primary { color:#fff; background:linear-gradient(120deg,#3d68cd,#5865df 58%,#7b56c8); box-shadow:inset 0 1px 1px #ffffff70,0 4px 0 #4b54ba,0 12px 22px -6px #5d68d96b }
.btn-secondary { color:var(--fg); background:linear-gradient(125deg,#ffffffeb,#f7f9ffbf); border-color:#fff; box-shadow:0 3px 0 #dde4f1,0 10px 20px -10px #4b619b50 }
.btn:hover { transform:translateY(-3px); box-shadow:0 7px 0 #4b54ba,0 18px 28px -8px #5d68d975 }
.btn-secondary:hover { box-shadow:0 6px 0 #dde4f1,0 18px 24px -12px #4b619b60 }
.btn:active { transform:translateY(2px) }
.eyebrow { color:var(--accent); font-size:11px; font-weight:700; letter-spacing:1.9px; margin:0 0 20px; line-height:1.6 }
.status-dot { display:inline-block; width:7px; height:7px; margin:0 9px 1px 0; border-radius:50%; background:#7983ec; box-shadow:0 0 0 5px #e3e7ff }
.text-link { display:inline-flex; align-items:center; gap:14px; color:var(--accent); text-decoration:none; font-size:14px; font-weight:600 }
.text-link:hover { text-decoration:underline }
.mobile-break { display:none }

/* Layers of light and paper carry the depth; the content does not depend on WebGL or JavaScript. */
.bookteam-home { background:radial-gradient(ellipse 60% 650px at 4% 6%,#e3f1ffb0,transparent),radial-gradient(ellipse 52% 640px at 98% 10%,#e9e4ffb5,transparent),var(--bg) }
.hero { display:grid; grid-template-columns:1fr 1.05fr; align-items:center; gap:12px; min-height:620px; padding:52px 0 45px; position:relative }
.hero-copy { position:relative; z-index:2 }
.hero .eyebrow { display:inline-flex; align-items:center; background:#ffffffa8; border:1px solid #fff; box-shadow:0 5px 20px #526ec008; border-radius:99px; padding:8px 14px; letter-spacing:.5px; font-size:12px; margin-bottom:23px }
.hero h1 { font-size:clamp(42px,4.6vw,63px); line-height:1.24; letter-spacing:-.055em; margin:0 0 25px; font-weight:800 }
.hero h1 > span { color:#5763cf }
.hero p.lead { font-size:16px; line-height:1.85; color:var(--dim); margin:0 0 30px }
.hero .cta { gap:12px }
.hero-formats { display:flex; align-items:center; gap:14px; margin-top:28px; color:var(--muted); font-size:12px }
.hero-formats i { width:3px; height:3px; border-radius:50%; background:#adb7d0 }
.hero-visual { width:100%; height:530px; position:relative; isolation:isolate; perspective:1100px }
.scene-halo { position:absolute; inset:0 -5% 5%; z-index:-1; border-radius:50%; background:radial-gradient(ellipse,#cbdcff9c 10%,#e4d8ff65 45%,#fff0 70%) }
.orbit { position:absolute; border:1px solid #b5c9f04a; border-radius:50%; width:85%; height:75%; left:7%; top:9%; transform:rotate(-27deg) }
.orbit-two { width:98%; height:64%; top:13%; left:0; transform:rotate(32deg) }
.platform { position:absolute; width:81%; height:133px; left:11%; bottom:49px; border-radius:50%; background:linear-gradient(180deg,#eff5ff 12%,#d3ddff 73%,#eaf4ff 92%); box-shadow:0 27px 40px -15px #8b9add56,inset 0 -2px 4px #fff; transform:rotate(-5deg) }
.platform > div { position:absolute; inset:0 0 19px; border:7px solid #f7f9ff; border-radius:50%; background:radial-gradient(ellipse at 45% 20%,#fff,#eef3ff 65%,#dce7ff); box-shadow:inset 0 0 0 2px #d3defd,0 6px 0 #c9d6fb55 }
.platform > div::after { content:""; position:absolute; width:58%; height:52%; left:17%; top:14%; background:#6a78c930; filter:blur(14px); border-radius:50% }
.scene-book { position:absolute; width:205px; height:282px; top:101px; left:30%; transform:rotateX(10deg) rotateY(-25deg) rotateZ(-11deg); transform-style:preserve-3d; animation:book-arrive .9s ease-out both }
.book-cover,.book-back { position:absolute; inset:0; border-radius:3px 10px 10px 3px; background:linear-gradient(135deg,#899dff 0%,#6b7fea 34%,#5365cb 74%,#555bbb); transform:translateZ(19px) }
.book-cover { padding:23px 20px 18px 26px; color:#fff; display:flex; flex-direction:column; overflow:hidden; box-shadow:inset 3px 0 2px #ffffff36,inset 10px 0 10px #28358120,inset -2px -2px 3px #262c7355,0 0 0 1px #6676d9 }
.book-cover::before { content:""; position:absolute; top:0; bottom:0; left:10px; width:2px; background:#344aa333; box-shadow:1px 0 1px #ffffff45 }
.book-back { transform:translateZ(-12px); box-shadow:8px 12px 14px #3d4b9d32 }
.book-pages { position:absolute; inset:5px -1px 5px 3px; border-radius:0 8px 8px 0; transform:translateZ(2px); background:repeating-linear-gradient(0deg,#fff 0 2px,#dce2f2 2px 3px); box-shadow:7px 4px 0 #f6f7ff,10px 6px 0 #d5dbeb }
.book-spine { position:absolute; width:32px; height:282px; top:0; left:-16px; transform:rotateY(-90deg) translateZ(0); background:linear-gradient(90deg,#5669d3,#8193ed); color:#e4eaff; writing-mode:vertical-rl; text-align:center; font-size:9px; letter-spacing:4px; padding-right:8px; border-radius:3px }
.cover-edition { font-size:7px; letter-spacing:2.1px; color:#f0f3ff; margin-bottom:20px }
.cover-title { font-size:25px; font-weight:700; line-height:1.35; letter-spacing:-1.2px; position:relative; z-index:1 }
.cover-orbit { position:absolute; width:165px; height:165px; border:1px solid #ffffff47; border-radius:50%; right:-32px; bottom:18px }
.cover-orbit::before { content:""; position:absolute; width:115px; height:115px; inset:23px; border:1px solid #ffffff50; border-radius:50% }
.cover-orbit span { position:absolute; width:76px; height:76px; top:40px; left:39px; border-radius:50%; background:radial-gradient(circle at 28% 24%,#e4f9ff,#a3c9ff 32%,#8190ed 68%,#6c68c9); box-shadow:inset -6px -6px 15px #454aa647,0 12px 24px #23358755 }
.cover-footer { display:flex; justify-content:space-between; margin-top:auto; font-size:8px; letter-spacing:1px; position:relative; z-index:1 }
.cover-footer span:first-child { font-size:12px; font-weight:700; letter-spacing:-.3px }
.manuscript { position:absolute; width:172px; height:226px; top:106px; right:12%; padding:21px 19px; border:1px solid #fff; border-radius:5px; background:linear-gradient(125deg,#fff,#f8faff); transform:rotate(14deg); box-shadow:6px 8px 0 #e4eaf5,8px 11px 0 #fff,12px 24px 28px #6d83bd21 }
.paper-eyebrow { display:block; color:#657aa2; font-size:6px; letter-spacing:1px; margin-bottom:12px }
.manuscript strong { display:block; color:#26385f; font-size:15px; margin-bottom:12px }
.paper-line { display:block; height:3px; margin:7px 0; border-radius:2px; background:#dce5f1 }
.paper-line.short { width:65% }
.paper-illustration { height:55px; display:flex; align-items:flex-end; gap:5px; padding:6px 14px 0; background:#f1f5ff; margin:12px 0 }
.paper-illustration span { flex:1; height:50%; background:linear-gradient(180deg,#a6bafb,#d0dbfc); border-radius:5px 5px 0 0 }
.paper-illustration span:nth-child(2) { height:75% }.paper-illustration span:nth-child(3) { height:100% }
.floating-note { position:absolute; display:flex; align-items:center; gap:11px; padding:14px 16px; border:1px solid #ffffffed; border-radius:16px; background:linear-gradient(120deg,#ffffffed,#f5f9ffd9); box-shadow:0 14px 28px -14px #697eba55,inset 0 1px 1px white; backdrop-filter:blur(12px); z-index:3 }
.floating-note small { display:block; color:#6a7d9d; letter-spacing:1px; font-size:7px; line-height:1.4; margin-bottom:5px }
.floating-note strong { display:block; color:#25375e; font-size:11px; letter-spacing:-.3px; line-height:1.5 }
.note-outline { top:62px; left:0; flex-wrap:wrap; width:186px; transform:rotate(-5deg) }
.note-icon { width:29px; height:29px; display:grid; place-items:center; border-radius:9px; background:linear-gradient(135deg,#d5ddff,#e9eaff); color:#6970d9; box-shadow:inset 0 1px 0 #fff,0 3px 5px #929ad822 }
.outline-lines { padding:0 3px 0 40px; width:100% }
.outline-lines span { display:block; height:4px; border-radius:4px; background:#dfe5f3; margin-top:6px }
.outline-lines span:nth-child(2) { width:82%; background:#cad5fb }.outline-lines span:nth-child(3) { width:62% }
.note-review { bottom:113px; right:-5px; transform:rotate(5deg); padding:16px 18px }
.check-icon { width:30px; height:30px; display:grid; place-items:center; border-radius:50%; background:linear-gradient(135deg,#def9f2,#b6ebde); color:#297566; font-size:15px; box-shadow:inset 0 1px 0 #fff,0 3px 5px #70b6a52b }
.scene-spark { position:absolute; color:#8891db; font-size:30px; font-weight:400 }
.spark-one { top:48px; right:65px; color:#ab98e5 }.spark-two { bottom:148px; left:12px; font-size:24px }
.scene-caption { position:absolute; bottom:0; width:100%; text-align:center; font-size:8px; color:#65759a; letter-spacing:2px }
.scene-caption span { display:inline-block; width:4px; height:4px; background:#8d9cf0; border-radius:50%; vertical-align:middle; margin-right:8px }
.journey-strip { display:flex; align-items:center; justify-content:space-between; gap:35px; padding:26px 34px; border:1px solid #fff; background:linear-gradient(110deg,#fff9,#f0f3ffb3); border-radius:22px; box-shadow:var(--shadow) }
.journey-strip > p { flex-shrink:0; font-size:12px; color:var(--muted); line-height:1.7; margin:0 }
.journey-strip strong { color:var(--fg); font-weight:600; font-size:14px }
.journey-strip ol { display:flex; align-items:center; justify-content:space-between; gap:28px; list-style:none; padding:0; margin:0; width:71% }
.journey-strip li { display:flex; align-items:center; gap:10px; font-size:13px; font-weight:600; white-space:nowrap }
.journey-strip li span { display:inline-grid; place-items:center; width:31px; height:31px; background:#fff; color:#6c78ca; border-radius:10px; box-shadow:0 3px 0 #dde4f6,inset 0 0 0 1px #f3f5fc; font-size:10px }
.home-section { padding:100px 0 0; margin:0; border:0 }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:32px }
.section-heading .eyebrow { font-size:10px; margin-bottom:14px; letter-spacing:2px }
.section-heading h2 { margin:0; line-height:1.4; font-size:34px }
.section-heading > p { font-size:14px; line-height:1.85; margin:0 0 3px; color:var(--muted) }
.format-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px }
.format-card { display:block; min-width:0; text-decoration:none; color:var(--fg); background:var(--panel); border:1px solid #fff; border-radius:26px; box-shadow:var(--shadow); overflow:hidden; transition:transform .25s,box-shadow .25s }
.format-card:hover { transform:translateY(-7px); box-shadow:0 24px 40px -20px #6474b457 }
.format-art { height:233px; position:relative; overflow:hidden; display:grid; place-items:center; isolation:isolate }
.format-art::after { content:""; position:absolute; bottom:22px; left:24%; width:52%; height:14px; border-radius:50%; background:#717cb326; filter:blur(9px); z-index:-1 }
.format-book .format-art { background:radial-gradient(ellipse at 50% 58%,#dadffe,#eff0fd 70%,#f5f5ff) }
.format-report .format-art { background:radial-gradient(ellipse at 50% 58%,#d2eef0,#eaf8f8 70%,#f2fbfb) }
.format-slides .format-art { background:radial-gradient(ellipse at 50% 58%,#eee2fa,#f5edfc 70%,#fcf8ff) }
.mini-book { position:absolute; width:108px; height:152px; border-radius:3px 7px 7px 3px; transform:rotate(-12deg) skewY(3deg); box-shadow:5px 6px 0 #fafbff,8px 8px 0 #c5cce2,10px 13px 20px #59649d40 }
.mini-book.rear { background:linear-gradient(120deg,#c6d3ff,#93a9ed); transform:rotate(13deg); margin-left:78px; margin-top:-8px }
.mini-book.front { background:linear-gradient(130deg,#808feb,#6475d0); padding:15px 15px 10px; color:white; margin-left:-20px; display:flex; flex-direction:column; border-left:5px solid #6677cc }
.mini-book small { font-size:5px; letter-spacing:.5px; margin-bottom:12px }.mini-book strong { font-size:19px; letter-spacing:-1px; line-height:1.28 }.mini-book span { font-size:7px; margin-top:auto }
.art-spark { position:absolute; left:22%; top:21%; font-size:22px; color:#9e9fd4 }
.format-slides .art-spark { left:auto; right:16%; top:17%; color:#a989ce }
.mini-report { width:136px; height:171px; background:linear-gradient(135deg,#fff,#f5fbff); padding:17px; border-radius:4px; transform:rotate(-9deg) skewY(2deg); box-shadow:5px 5px 0 #d5e7ee,8px 8px 0 #faffff,14px 16px 22px #527b982c }
.report-label { display:block; color:#3e7d92; font-size:6px; letter-spacing:.8px; margin-bottom:9px }.mini-report strong { color:#29556b; font-size:16px; line-height:1.4; display:block }
.report-chart { height:51px; display:flex; align-items:flex-end; gap:5px; margin-top:9px; border-bottom:1px solid #d9e5ea }
.report-chart i { width:14px; height:40%; background:linear-gradient(#9ed9da,#68b9bf); border-radius:3px 3px 0 0 }.report-chart i:nth-child(2) { height:57% }.report-chart i:nth-child(3) { height:51% }.report-chart i:nth-child(4) { height:76% }.report-chart i:nth-child(5) { height:92% }
.report-rule { height:3px; background:#d6e4e9; margin-top:8px }.report-rule.short { width:65%; margin-top:5px }
.art-orb { position:absolute; width:41px; height:41px; border-radius:50%; background:radial-gradient(circle at 30% 25%,#faffff,#b0e9e8 35%,#78b8c6 86%); left:22%; bottom:22%; box-shadow:0 8px 12px #709ca62c }
.mini-slide { position:absolute; width:170px; height:112px; border-radius:8px; transform:rotate(-10deg); box-shadow:4px 5px 0 #d4c9e3,10px 14px 20px #8868a332 }
.mini-slide.behind { margin-top:-35px; margin-left:28px; background:linear-gradient(120deg,#d6caf0,#b4a1d1); transform:rotate(8deg) }
.mini-slide.front { background:linear-gradient(115deg,#fff,#f6f2fb); padding:15px; margin-top:20px; display:flex; flex-direction:column }
.mini-slide small { color:#89699d; font-size:5px; letter-spacing:.7px; margin-bottom:8px }.mini-slide strong { font-size:14px; color:#624778; line-height:1.45; z-index:1 }.mini-slide > span { font-size:5px; color:#8d769e; margin-top:auto }
.slide-shapes { position:absolute; bottom:18px; right:14px; width:49px; height:47px }.slide-shapes i { position:absolute; width:35px; height:35px; border-radius:50%; background:linear-gradient(140deg,#e4d7f9,#b697d6); box-shadow:0 5px 7px #9776ad26 }.slide-shapes i+ i { bottom:0; right:0; width:25px; height:25px; border-radius:7px; background:linear-gradient(135deg,#becbf9,#958ecc); transform:rotate(-15deg) }
.format-copy { padding:25px 25px 27px }.format-type { font-size:9px; font-weight:700; letter-spacing:1.4px; color:var(--muted) }
.format-copy h3 { margin:8px 0 13px; font-size:21px; display:flex; align-items:center; justify-content:space-between; gap:6px }.format-copy h3 span { display:grid; place-items:center; border:1px solid #e1e7f4; background:#f7f9ff; width:30px; height:30px; border-radius:50%; color:#7180a2; font-size:17px; font-weight:400 }
.format-copy p { font-size:13px; color:var(--muted); line-height:1.85; margin-bottom:19px }
.file-types { display:flex; gap:6px }.file-types span { border-radius:5px; background:#f1f4fa; color:#5c6d8b; font-size:9px; font-weight:600; padding:3px 8px; letter-spacing:.5px }
.format-note { margin:20px 0 0; color:var(--muted); text-align:right; font-size:11px }.format-note a { margin-left:8px; text-decoration:none }
.team-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px }
.team-card { position:relative; border:1px solid #fff; background:linear-gradient(140deg,#fff,#ffffff94); border-radius:23px; padding:28px; box-shadow:0 10px 26px -20px #5a6eaa55 }
.role-icon { display:grid; place-items:center; width:46px; height:46px; margin-bottom:21px; border-radius:14px; font-size:25px; box-shadow:inset 1px 1px 2px #fff,inset -2px -3px 5px #7c84c11a,0 5px 0 #b5bed21a,0 10px 13px -7px #5c6e9d45; transform:rotate(-7deg) }
.role-blue { color:#4f6ab9; background:linear-gradient(135deg,#e3eeff,#c9d6f8) }.role-violet { color:#7661b7; background:linear-gradient(135deg,#f0eaff,#dbcefa) }.role-mint { color:#328770; background:linear-gradient(135deg,#e7f9f3,#c4e9dc) }.role-peach { color:#aa7550; background:linear-gradient(135deg,#fff1e7,#f5dcc4) }.role-sky { color:#4b7f99; background:linear-gradient(135deg,#e8f7fd,#c6e6f0) }.role-rose { color:#a56c95; background:linear-gradient(135deg,#ffedf8,#eccfe4); font-family:Georgia,serif; font-size:39px; line-height:1; padding-top:7px }
.role-en { position:absolute; right:26px; top:39px; font-size:8px; font-weight:600; letter-spacing:1.3px; color:#6a7b9b }
.team-card h3 { margin:0 0 12px; font-size:18px }.team-card p { color:var(--muted); font-size:12px; line-height:1.9; margin:0 0 21px }.role-tag { font-size:10px; color:#5f7090; border-top:1px solid #e7ebf5; display:block; padding-top:14px }
.process-grid { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:25px }
.process-grid li { position:relative; padding:27px 0 0; border-top:1px solid #cdd8ec }
.process-grid li::before { content:""; position:absolute; width:6px; height:6px; border-radius:50%; background:#95a4d1; top:-3px; left:0 }
.step-number { display:block; color:#a0add0; font-size:32px; font-weight:300; letter-spacing:-1px; margin-bottom:15px }.process-grid h3 { font-size:17px; margin:0 0 12px }.process-grid p { font-size:12px; color:var(--muted); line-height:1.9; margin:0 }
.human-note { display:flex; align-items:center; justify-content:center; gap:12px; margin:28px 0 0; border:1px solid #e4eafa; border-radius:13px; padding:15px; color:var(--muted); font-size:12px; background:#eef2fb70 }.human-note span { color:#7d88ce; font-size:18px }
.faq-section { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px }.faq-section .eyebrow { font-size:10px; margin-bottom:15px }.faq-section h2 { line-height:1.45; font-size:32px }.faq-intro { color:var(--muted); font-size:13px; margin:20px 0 }
.faq-list details { border-bottom:1px solid #dfe6f3; padding:0 2px }.faq-list details:first-child { border-top:1px solid #dfe6f3 }.faq-list summary { display:flex; align-items:center; justify-content:space-between; gap:18px; list-style:none; cursor:pointer; padding:21px 0; font-size:14px; font-weight:600 }.faq-list summary::-webkit-details-marker { display:none }.faq-list summary span { font-size:22px; font-weight:300; color:#8b98b4; flex-shrink:0; transition:transform .2s }.faq-list details[open] summary span { transform:rotate(45deg) }.faq-list details p { color:var(--dim); font-size:13px; line-height:1.9; padding:0 30px 20px 0; margin:0 }
.closing-card { position:relative; display:flex; align-items:center; justify-content:space-between; gap:25px; margin:100px 0 0; padding:48px; overflow:hidden; isolation:isolate; background:linear-gradient(120deg,#e6eeff,#edeafa 75%,#f3f2ff); border:1px solid #fff; border-radius:28px; box-shadow:var(--shadow) }
.closing-card .eyebrow { font-size:9px; letter-spacing:1.7px; margin-bottom:16px }.closing-card h2 { font-size:29px; margin:0 0 15px; line-height:1.5 }.closing-card p:not(.eyebrow) { font-size:13px; color:var(--muted); margin:0 }.closing-card .btn { flex-shrink:0; position:relative }
.closing-orb { position:absolute; width:360px; height:360px; border:1px solid #fff9; border-radius:50%; right:15%; bottom:-120px; background:radial-gradient(circle at 35% 15%,#fff4,#d2dafa38); box-shadow:inset 0 0 35px #fff5; z-index:-1 }.closing-orb::after { content:""; position:absolute; inset:35px; border:1px solid #ffffff85; border-radius:50% }
.reading-links { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:13px 25px; margin:34px 0 75px; font-size:12px; color:var(--muted) }.reading-links > span { color:#52658b; font-weight:600 }.reading-links a { color:var(--muted); text-decoration:none }.reading-links a:hover { color:var(--accent) }
footer.site { padding:38px 0; border-top:1px solid #e4eaf4; background:#ffffff80; color:var(--muted); font-size:12px }
.footer-brand { margin-bottom:22px }.footer-brand > a { display:block; font-size:25px; letter-spacing:-1px; color:var(--fg); font-weight:800 }.footer-brand > p { display:block; margin:3px 0 0; font-size:12px; color:var(--muted) }
footer.site nav { display:flex; flex-wrap:wrap; gap:10px 19px; margin-bottom:25px }
footer.site a { color:var(--dim); text-decoration:none }.legal { font-size:11px; line-height:1.9; color:var(--muted) }footer.site a:hover { text-decoration:underline }

/* The existing guides keep their reading layout and document anchors. */
.bookteam-article main > .wrap { max-width:850px; padding-bottom:55px }
.crumb { font-size:12px; color:var(--muted); padding:36px 0 10px }.crumb a { color:var(--muted); text-decoration:none }
.bookteam-article h1 { font-size:34px }.bookteam-article h2 { font-size:25px }.bookteam-article h3 { font-size:17px }
.bookteam-article section { padding:32px 0 12px; border-top:1px solid var(--border); margin-top:28px }
h2 + p.sub { color:var(--muted); font-size:15px; margin:0 0 24px }
table { width:100%; border-collapse:collapse; font-size:14px; background:var(--panel); border:1px solid var(--border) }
caption { text-align:left; color:var(--muted); font-size:13px; padding-bottom:10px }
th,td { text-align:left; padding:11px 14px; border-bottom:1px solid var(--border); vertical-align:top }
thead th { background:var(--panel2); color:var(--dim) }tbody th { white-space:nowrap; font-weight:600; width:34% }.tablescroll { overflow-x:auto }
ul.plain { margin:0 0 14px; padding-left:20px }ul.plain li { margin:6px 0 }
.steps { list-style:none; counter-reset:s; margin:0; padding:0 }.steps li { counter-increment:s; position:relative; padding:0 0 22px 46px }.steps li::before { content:counter(s); position:absolute; left:0; top:2px; width:30px; height:30px; border-radius:10px; background:var(--accent-tint); color:var(--accent); font-weight:700; font-size:13px; display:grid; place-items:center; box-shadow:0 3px 0 #dce2f9 }.steps li p { margin:2px 0 0; color:var(--dim); font-size:15px }
.cards { display:grid; gap:14px; grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr)); padding:0; margin:0; list-style:none }.cards li { background:var(--panel); border:1px solid var(--border); border-radius:15px; padding:20px; box-shadow:var(--shadow) }.cards li p { margin:4px 0 0; color:var(--dim); font-size:14px }.cards li h3 { margin-top:0 }
dl.faq { margin:0 }dl.faq dt { font-weight:600; margin-top:20px }dl.faq dd { margin:4px 0 0; color:var(--dim) }
.toc { background:var(--panel); border:1px solid var(--border); border-radius:18px; padding:22px 26px; margin:28px 0 8px; box-shadow:var(--shadow) }.toc h2 { font-size:15px; margin:0 0 10px; color:var(--muted) }.toc ol { margin:0; padding-left:20px }.toc li { margin:5px 0; font-size:14px }.toc a { text-decoration:none }.toc a:hover { text-decoration:underline }
.note { background:var(--accent-tint); border-left:3px solid var(--accent); padding:14px 18px; border-radius:0 10px 10px 0; font-size:14px; color:var(--dim); margin:16px 0 }
.related { display:flex; gap:12px; flex-wrap:wrap; margin:6px 0 0; padding:0; list-style:none }.related li { background:var(--panel); border:1px solid var(--border); border-radius:999px; padding:7px 16px; font-size:13px }.related a { text-decoration:none }.related a:hover { text-decoration:underline }
@keyframes book-arrive { from { opacity:0; transform:translateY(16px) rotateX(10deg) rotateY(-25deg) rotateZ(-11deg) } to { opacity:1; transform:rotateX(10deg) rotateY(-25deg) rotateZ(-11deg) } }
@media (max-width:1050px) {
  nav.site { gap:10px 16px }nav.site a { font-size:12px }nav.site a.start { padding:9px 14px }
  .hero { min-height:560px }.hero h1 { font-size:49px }.hero-visual { height:460px; transform:scale(.92); transform-origin:center }.hero .btn { padding:12px 18px; font-size:13px; gap:13px }
  .scene-book { left:26%; top:70px }.manuscript { top:79px; right:8% }.note-outline { left:-4%; top:27px }.note-review { right:-9%; bottom:80px }.platform { bottom:30px }.scene-caption { bottom:-3px }
  .journey-strip { padding:24px; gap:20px }.journey-strip ol { width:72%; gap:15px }.journey-strip li { gap:7px; font-size:12px }
  .format-grid,.team-grid { gap:16px }.format-copy { padding:22px 20px }.format-copy h3 { font-size:19px }.team-card { padding:24px 20px }.role-en { right:20px; font-size:7px; letter-spacing:.8px }.team-card h3 { font-size:16px }.team-card p { font-size:12px }.section-heading h2 { font-size:30px }
  .process-grid { gap:18px }.process-grid h3 { font-size:15px }.faq-section { gap:45px }.closing-card { padding:38px }
}
@media (max-width:800px) {
  .wrap { padding:0 24px }header.site { padding:12px 14px 0 }header.site > .wrap { gap:15px; padding:12px 19px; border-radius:18px; flex-wrap:wrap }
  nav.site { flex:1; gap:10px 16px }nav.site a:first-child,nav.site a:nth-child(2) { display:none }
  .hero { grid-template-columns:1fr; padding:50px 0 35px; gap:14px; text-align:center; min-height:0 }.hero h1 { font-size:53px }.hero p.lead { margin-left:auto; margin-right:auto; font-size:16px }.hero .cta,.hero-formats { justify-content:center }.hero-visual { max-width:550px; height:500px; margin:0 auto; transform:none }.hero-copy { z-index:2 }.scene-book { left:31%; top:90px }.manuscript { top:96px; right:13% }.note-outline { left:6%; top:46px }.note-review { right:1%; bottom:100px }.platform { bottom:35px }.scene-caption { bottom:0 }
  .journey-strip { gap:22px; align-items:center; text-align:left }.journey-strip > p { font-size:11px }.journey-strip strong { font-size:13px }.journey-strip ol { display:grid; grid-template-columns:repeat(2,1fr); gap:14px 22px; width:auto }
  .home-section { padding-top:75px }.section-heading { align-items:flex-start; gap:20px }.section-heading h2 { font-size:28px }.section-heading > p { font-size:12px; margin-top:30px }.format-grid { gap:13px }.format-art { height:200px }.format-copy { padding:20px 15px }.format-copy h3 { font-size:16px; letter-spacing:-.6px }.format-copy h3 span { width:23px; height:23px; font-size:15px }.format-copy p { font-size:12px }.format-copy p br { display:none }.format-type { font-size:7px; letter-spacing:1px }
  .team-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }.role-en { font-size:8px; right:23px }.team-card { padding:25px }.team-card h3 { font-size:17px }.team-card p { font-size:12px }
  .process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px }.process-grid h3 { font-size:16px }.faq-section { grid-template-columns:1fr; gap:30px }.faq-section h2 br { display:none }.faq-intro { margin:12px 0 15px }.closing-card { margin-top:75px; padding:32px; gap:25px }.closing-card h2 { font-size:24px }.closing-card .btn { padding:13px 18px; font-size:12px; gap:10px }.reading-links { margin-bottom:55px }
}
@media (max-width:560px) {
  .wrap { padding:0 21px }header.site { padding:10px 12px 0 }header.site > .wrap { padding:12px 14px; min-height:68px; gap:12px }.brand { gap:8px }.brand-mark { width:31px; height:34px; border-radius:9px }.brand-wordmark { font-size:22px }.brand-wordmark small { font-size:6px; letter-spacing:1.15px }.brand-mark svg { width:20px; height:20px }
  nav.site { gap:9px; flex:initial }nav.site a { font-size:11px }nav.site a:not(.start) { display:none }nav.site a.start { padding:9px 12px; font-size:11px }
  .hero { padding-top:39px; gap:16px }.hero .eyebrow { font-size:10px; padding:7px 12px; margin-bottom:22px }.hero h1 { font-size:43px; letter-spacing:-.055em; margin-bottom:23px }.hero p.lead { font-size:14px; line-height:1.9; margin-bottom:26px }.hero .cta { gap:11px; margin-top:0 }.hero .btn { font-size:12px; padding:12px 17px; min-height:48px; gap:9px }.hero-formats { font-size:10px; margin-top:25px; gap:12px }
  /* Rotated orbit rings must not enlarge the mobile document's scroll area. */
  .hero-visual { height:375px; max-width:380px; overflow:clip }.scene-book { width:151px; height:215px; left:30%; top:68px }.book-spine { height:215px; width:28px; left:-14px; font-size:7px }.book-cover { padding:19px 14px 14px 22px }.cover-edition { font-size:5px; letter-spacing:1.2px; margin-bottom:14px }.cover-title { font-size:20px; letter-spacing:-.8px }.cover-orbit { width:135px; height:135px; bottom:12px; right:-35px }.cover-orbit::before { width:90px; height:90px; inset:21px }.cover-orbit span { width:60px; height:60px; left:36px; top:36px }.cover-footer { font-size:5px }.cover-footer span:first-child { font-size:9px }.book-pages { box-shadow:5px 3px 0 #f6f7ff,8px 5px 0 #d5dbeb }
  .manuscript { width:125px; height:178px; top:69px; right:7%; padding:14px }.paper-eyebrow { font-size:4px; margin-bottom:8px }.manuscript strong { font-size:11px; margin-bottom:8px }.paper-line { margin:5px 0; height:2px }.paper-illustration { height:46px; margin:9px 0 }.platform { width:87%; left:7%; height:92px; bottom:39px }.platform > div { inset:0 0 12px; border-width:5px }.floating-note { gap:8px; padding:10px 12px; border-radius:12px }.floating-note strong { font-size:8px }.floating-note small { font-size:5px; letter-spacing:.5px; margin-bottom:4px }.note-outline { width:145px; left:0; top:34px }.note-icon { width:23px; height:23px; font-size:13px; border-radius:7px }.outline-lines { padding-left:31px }.outline-lines span { height:3px; margin-top:4px }.note-review { right:-4px; bottom:82px; padding:12px }.check-icon { width:23px; height:23px; font-size:12px }.spark-one { top:22px; right:33px; font-size:22px }.spark-two { left:1%; bottom:107px; font-size:20px }.scene-caption { bottom:3px; font-size:6px; letter-spacing:1.5px }.orbit { top:6%; height:77% }
  .journey-strip { padding:22px; border-radius:19px; flex-direction:column; align-items:stretch; gap:19px }.journey-strip > p { font-size:11px }.journey-strip > p br { display:none }.journey-strip strong { margin-left:5px; font-size:12px }.journey-strip ol { gap:16px 10px }.journey-strip li { font-size:12px; gap:10px }.journey-strip li span { width:28px; height:28px }
  .home-section { padding-top:64px }.section-heading { display:block; margin-bottom:25px }.section-heading h2 { font-size:27px; line-height:1.45 }.section-heading .eyebrow { font-size:8px; letter-spacing:1.5px; margin-bottom:11px }.section-heading > p { margin-top:15px; font-size:12px }.section-heading > .text-link { margin-top:18px; font-size:12px }.mobile-break { display:block }
  .format-grid { grid-template-columns:1fr; gap:23px }.format-art { height:230px }.format-copy { padding:25px }.format-type { font-size:9px; letter-spacing:1.4px }.format-copy h3 { font-size:23px; margin-top:8px }.format-copy h3 span { width:32px; height:32px; font-size:18px }.format-copy p { font-size:13px }.format-copy p br { display:initial }.format-note { text-align:left; font-size:10px; line-height:1.9 }.format-note a { margin:0; display:inline-block }
  .team-grid { gap:13px }.team-card { padding:20px 16px; border-radius:18px }.role-icon { width:39px; height:39px; font-size:22px; margin-bottom:19px }.role-rose { font-size:33px }.role-en { position:static; font-size:6px; letter-spacing:.7px; display:block; margin-bottom:8px }.team-card h3 { font-size:15px; line-height:1.5; letter-spacing:-.7px; text-wrap:initial }.team-card p { font-size:11px; line-height:1.8; margin-bottom:16px }.team-card p br { display:none }.role-tag { font-size:9px; line-height:1.5; padding-top:12px }
  .process-grid { gap:28px 18px }.process-grid li { padding-top:18px }.step-number { font-size:27px; margin-bottom:12px }.process-grid h3 { font-size:15px; line-height:1.5; text-wrap:initial }.process-grid p { font-size:11px; line-height:1.85 }.process-grid p br { display:none }.human-note { align-items:flex-start; padding:15px; font-size:11px; text-align:left; line-height:1.9 }.human-note span { flex-shrink:0 }
  .faq-section { gap:25px }.faq-section h2 { font-size:27px }.faq-section .eyebrow { font-size:8px; letter-spacing:1.5px }.faq-list summary { font-size:13px; padding:20px 0 }.faq-list details p { font-size:12px; padding-right:10px }
  .closing-card { margin-top:64px; display:block; padding:30px 23px; border-radius:23px }.closing-card h2 { font-size:23px; line-height:1.55; letter-spacing:-1px }.closing-card .eyebrow { font-size:7px }.closing-card p:not(.eyebrow) { font-size:11px }.closing-card .btn { margin-top:25px; font-size:13px; padding:13px 20px; gap:20px }.closing-orb { width:270px; height:270px; right:-100px; bottom:-70px }
  .reading-links { gap:12px 16px; font-size:10px; margin:29px 0 45px }.reading-links > span { width:100%; text-align:center }footer.site { padding:30px 0 }.footer-brand > a { font-size:23px }footer.site nav { gap:8px 16px; font-size:11px }.legal { font-size:10px }
  .bookteam-article main > .wrap { padding-bottom:35px }.bookteam-article h1 { font-size:27px }.bookteam-article h2 { font-size:23px }.bookteam-article p.lead { font-size:16px }.bookteam-article .btn { padding:12px 20px; min-height:48px; font-size:13px }.bookteam-article { font-size:14px }tbody th { width:auto; white-space:normal }.toc { padding:20px }
}
@media (max-width:370px) { .wrap { padding:0 17px }.hero h1 { font-size:38px }.hero .btn { padding:12px 13px; font-size:11px }.brand-wordmark { font-size:19px }.brand-wordmark small { font-size:5px }.brand-mark { width:28px }.hero-visual { transform:scale(.95); transform-origin:center }.team-card { padding:18px 13px }.team-card h3 { font-size:14px } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto }*,*::before,*::after { animation:none!important; transition:none!important } }
