:root{--navy:#071b2c;--navy-2:#11344c;--ink:#14242f;--ink-2:#465760;--muted:#75838a;--line:#dce5e6;--surface:#f3f7f6;--white:#fff;--teal:#0a8b7c;--blue:#2878c7;--coral:#d96052;--gold:#a66b08;color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-width:320px;background:#edf2f1;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Pretendard","Noto Sans KR","Segoe UI",sans-serif;letter-spacing:-.015em;word-break:keep-all;-webkit-font-smoothing:antialiased}
button,input,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
.topbar{position:sticky;top:0;z-index:50;height:60px;padding:0 max(18px,calc((100% - 1180px)/2));display:flex;align-items:center;gap:11px;background:rgba(7,27,44,.97);color:#fff;border-bottom:1px solid rgba(255,255,255,.1);backdrop-filter:blur(14px)}
.brand-mark{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(145deg,#46d3bf,#2a87c9);color:#062033;font-weight:950;text-decoration:none}
.brand{min-width:0;margin-right:auto;line-height:1.1}.brand b{display:block;font-size:14px}.brand span{display:block;margin-top:4px;color:#94aab7;font-size:10px;letter-spacing:.1em}
.updated{color:#aec0ca;font-size:11px;white-space:nowrap}
.hero{position:relative;overflow:hidden;padding:50px max(20px,calc((100% - 1180px)/2)) 42px;background:linear-gradient(145deg,#071b2c,#0b344e 66%,#0a665f);color:#fff}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:34px 34px}
.hero:after{content:"";position:absolute;width:460px;height:460px;right:-170px;top:-270px;border:68px solid rgba(75,212,190,.13);border-radius:50%}
.hero-inner{position:relative;z-index:1;max-width:780px}
.eyebrow{display:block;margin-bottom:10px;color:#72dfcf;font-size:11px;font-weight:900;letter-spacing:.14em}
.hero h1{margin:0;font-size:clamp(38px,8vw,66px);font-weight:950;line-height:1.08;letter-spacing:-.065em}
.hero h1 em{color:#69dccb;font-style:normal}.hero p{max-width:680px;margin:20px 0 0;color:#cfdee4;font-size:16px;line-height:1.7}
.summary-strip{position:relative;z-index:2;max-width:1180px;margin:-22px auto 0;padding:0 18px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.summary-strip article{min-height:106px;padding:17px 18px;border:1px solid rgba(7,27,44,.07);border-radius:18px;background:#fff;box-shadow:0 12px 35px rgba(7,27,44,.1)}
.summary-strip small{display:block;color:var(--muted);font-size:11px;font-weight:750}.summary-strip b{display:block;margin-top:5px;color:var(--navy);font-size:24px;letter-spacing:-.04em}.summary-strip span{display:block;margin-top:3px;color:#89969c;font-size:10px}
.workspace{max-width:1180px;margin:0 auto;padding:38px 18px 80px}
.market-tabs{margin:-12px 0 30px;display:flex;gap:7px}.market-tabs a{min-height:42px;padding:0 17px;display:grid;place-items:center;border:1px solid var(--line);border-radius:999px;background:#fff;color:#66767e;font-size:12px;font-weight:850;text-decoration:none}.market-tabs a.active{border-color:var(--teal);background:#e7f6f2;color:#087a6f}
.intro-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.intro-row h2{margin:0;color:var(--navy);font-size:28px;letter-spacing:-.045em}.intro-row p{margin:6px 0 0;color:var(--muted);font-size:13px}.count{color:var(--teal);font-size:13px;font-weight:850;white-space:nowrap}
.filters{margin-top:22px;padding:14px;display:grid;grid-template-columns:minmax(240px,1.5fr) repeat(3,minmax(140px,.7fr));gap:9px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 7px 24px rgba(7,27,44,.045)}
.search{position:relative}.search:before{content:"⌕";position:absolute;left:15px;top:50%;transform:translateY(-52%);color:var(--teal);font-size:22px;font-weight:900}
.filters input,.filters select{width:100%;height:50px;border:1px solid #d8e2e3;border-radius:14px;background:#f9fbfa;color:var(--ink);outline:none}.filters input{padding:0 14px 0 43px}.filters select{padding:0 35px 0 13px}.filters input:focus,.filters select:focus{border-color:#6abeb2;box-shadow:0 0 0 3px rgba(10,139,124,.1)}
.sector-chips{margin-top:13px;display:flex;gap:7px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.sector-chips::-webkit-scrollbar{display:none}.chip{min-height:40px;padding:0 15px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#52646d;font-size:12px;font-weight:750;white-space:nowrap;cursor:pointer}.chip.active{border-color:var(--teal);background:#e7f6f2;color:#087a6f}
.cards{margin-top:22px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.stock-card{position:relative;min-height:252px;padding:20px;display:flex;flex-direction:column;border:1px solid var(--line);border-top:4px solid var(--card-accent,#0a8b7c);border-radius:20px;background:#fff;box-shadow:0 6px 22px rgba(7,27,44,.05);text-decoration:none;color:inherit;transition:transform .18s,box-shadow .18s}
.stock-card:hover{transform:translateY(-3px);box-shadow:0 13px 32px rgba(7,27,44,.1)}
.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.rank{color:#90a0a7;font:800 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}.score{padding:4px 8px;border-radius:999px;background:#edf7f4;color:#087a6f;font-size:11px;font-weight:900}.score.low{background:#fff0ed;color:#b64c40}.score.mid{background:#fff6dc;color:#8d5f09}
.stock-card h3{margin:14px 0 0;color:var(--navy);font-size:23px;line-height:1.2;letter-spacing:-.045em}.code{display:block;margin-top:5px;color:#8a989e;font:700 10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}.card-price{margin-top:13px;display:flex;align-items:baseline;gap:8px}.card-price b{color:var(--card-accent,#0a8b7c);font-size:21px;line-height:1.2;letter-spacing:-.045em}.card-price span{padding:3px 6px;border-radius:6px;background:var(--surface);color:#718087;font-size:9px;font-weight:800}.card-summary{display:-webkit-box;margin:12px 0 16px;overflow:hidden;color:var(--ink-2);font-size:13px;line-height:1.6;-webkit-line-clamp:3;-webkit-box-orient:vertical}.card-bottom{margin-top:auto;padding-top:13px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #e6ecec}.tags{display:flex;gap:5px;min-width:0}.tag{max-width:105px;padding:4px 7px;overflow:hidden;border-radius:7px;background:var(--surface);color:#5f7078;font-size:9px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.arrow{color:var(--card-accent,#0a8b7c);font-size:19px;font-weight:800}
.empty{grid-column:1/-1;padding:70px 20px;border:1px dashed #c9d6d7;border-radius:20px;background:#f7faf9;color:var(--muted);text-align:center}.load-more{width:100%;max-width:360px;height:52px;margin:24px auto 0;display:block;border:1px solid #bed6d2;border-radius:15px;background:#fff;color:#087a6f;font-weight:850;cursor:pointer}.load-more[hidden]{display:none}.footer{padding:30px 20px 50px;background:var(--navy);color:#91a7b3;text-align:center;font-size:11px;line-height:1.7}.footer b{display:block;margin-bottom:4px;color:#dbe6eb;font-size:13px}
.market-kosdaq{--teal:#715fc8}.market-kosdaq .brand-mark{background:linear-gradient(145deg,#a997ec,#60b6c5);color:#171633}.market-kosdaq .hero{background:linear-gradient(145deg,#0b1830,#172d53 62%,#574a9d)}.market-kosdaq .hero:after{border-color:rgba(168,151,236,.16)}.market-kosdaq .eyebrow{color:#b9aaf0}.market-kosdaq .hero h1 em{color:#b9aaf0}.market-kosdaq .market-tabs a.active{border-color:#715fc8;background:#f0edfb;color:#5b49ae}.market-kosdaq .chip.active{border-color:#715fc8;background:#f0edfb;color:#5b49ae}.market-kosdaq .count{color:#6653bb}.market-kosdaq .search:before{color:#715fc8}.market-kosdaq .filters input:focus,.market-kosdaq .filters select:focus{border-color:#9c8cdc;box-shadow:0 0 0 3px rgba(113,95,200,.1)}
@media(max-width:900px){.summary-strip{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:1fr 1fr}.search{grid-column:1/-1}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.topbar{height:56px;padding:0 16px}.updated{font-size:9px}.hero{padding:39px 20px 42px}.hero p{font-size:14px}.summary-strip{margin-top:-18px;padding:0 14px;gap:8px}.summary-strip article{min-height:94px;padding:14px}.summary-strip b{font-size:21px}.workspace{padding:32px 14px 70px}.intro-row{align-items:flex-start;flex-direction:column;gap:6px}.filters{grid-template-columns:1fr;padding:11px}.search{grid-column:auto}.cards{grid-template-columns:1fr;gap:11px}.stock-card{min-height:226px;padding:18px}.stock-card h3{font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.stock-card{transition:none}}
.brand-logo{min-width:0;margin-right:auto;display:flex;align-items:center;height:100%;text-decoration:none}.brand-logo img{display:block;width:clamp(132px,38vw,164px);height:auto;max-height:25px;object-fit:contain}

/* JNC Holdings visual refresh — presentation only; research data remains untouched. */
:root{--navy:#081225;--navy-2:#142640;--ink:#142039;--ink-2:#42526d;--muted:#71809a;--line:#dce4f0;--surface:#f3f6fb;--teal:#13b7a6;--blue:#5378ff;--coral:#e66d78;--gold:#c8923c}
body{background:radial-gradient(circle at 88% 0,rgba(83,120,255,.12),transparent 32rem),#f1f4fa}.topbar{background:rgba(5,12,25,.91);border-bottom-color:rgba(174,198,255,.14);box-shadow:0 7px 26px rgba(4,12,28,.16)}
.hero{background:linear-gradient(90deg,rgba(3,10,24,.96) 0%,rgba(5,15,33,.89) 43%,rgba(6,17,35,.35) 100%),url("../../assets/jnc-research-signal-20260721.png") center/cover no-repeat}.hero:before{background:linear-gradient(90deg,rgba(120,152,255,.08) 1px,transparent 1px),linear-gradient(rgba(120,152,255,.05) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(90deg,black,rgba(0,0,0,.35),transparent)}.hero:after{display:none}.eyebrow{color:#72e0d2}.hero h1 em{color:#8ea7ff}.hero p{color:#c8d3e6}
.summary-strip article{border-color:rgba(78,106,158,.13);box-shadow:0 18px 42px rgba(18,37,71,.11)}.market-tabs a.active,.chip.active{border-color:#5a78ff;background:#edf1ff;color:#3855c6}.filters{border-color:#dbe4f2;box-shadow:0 12px 32px rgba(18,37,71,.06)}.filters input,.filters select{border-color:#d9e2f0;background:#f8faff}.filters input:focus,.filters select:focus{border-color:#7990ff;box-shadow:0 0 0 3px rgba(83,120,255,.12)}.stock-card{border-color:#dde5f1;box-shadow:0 10px 28px rgba(18,37,71,.06)}.stock-card:hover{box-shadow:0 18px 38px rgba(18,37,71,.14)}.score{background:#e9fbf8;color:#078878}.score.mid{background:#fff7e7;color:#9b6612}.score.low{background:#fff0f1;color:#bd4553}.footer{background:#081225;color:#91a2c0}.footer b{color:#edf2ff}
.market-kosdaq{--teal:#9a7aff}.market-kosdaq .hero{background:linear-gradient(90deg,rgba(6,10,27,.97) 0%,rgba(13,17,47,.9) 43%,rgba(18,22,54,.37) 100%),url("../../assets/jnc-research-signal-20260721.png") center/cover no-repeat}.market-kosdaq .hero:before{background:linear-gradient(90deg,rgba(173,145,255,.12) 1px,transparent 1px),linear-gradient(rgba(173,145,255,.06) 1px,transparent 1px);background-size:52px 52px}.market-kosdaq .eyebrow,.market-kosdaq .hero h1 em{color:#beaaff}.market-kosdaq .market-tabs a.active,.market-kosdaq .chip.active{border-color:#9879f4;background:#f2eeff;color:#6849cf}.market-kosdaq .filters input:focus,.market-kosdaq .filters select:focus{border-color:#a991ff;box-shadow:0 0 0 3px rgba(154,122,255,.13)}

/* Typography rhythm: clearer line breaks and a calmer mobile reading pace. */
.hero-inner{max-width:740px}.hero h1{max-width:13.5ch;font-size:clamp(42px,5.3vw,66px);line-height:1.14;letter-spacing:-.058em;text-wrap:balance}.hero p{max-width:39rem;margin-top:22px;font-size:clamp(15px,1.45vw,17px);line-height:1.78;letter-spacing:-.022em;text-wrap:pretty}.eyebrow{margin-bottom:13px;line-height:1.45}.intro-row h2{font-size:clamp(27px,3.1vw,34px);line-height:1.26;text-wrap:balance}.intro-row p{max-width:52rem;margin-top:9px;line-height:1.7;text-wrap:pretty}.stock-card h3{line-height:1.28;text-wrap:balance}.card-summary{line-height:1.68;letter-spacing:-.018em}.summary-strip b{line-height:1.17}.footer{line-height:1.8}
@media(max-width:600px){.hero{padding-top:43px;padding-bottom:46px}.hero h1{max-width:11.8ch;font-size:clamp(35px,10.3vw,44px);line-height:1.16;letter-spacing:-.061em}.hero p{margin-top:19px;font-size:15px;line-height:1.8}.eyebrow{margin-bottom:11px;font-size:10px;letter-spacing:.11em}.summary-strip article{min-height:98px}.intro-row h2{font-size:27px;line-height:1.31}.intro-row p{font-size:13px;line-height:1.72}.stock-card h3{font-size:23px;line-height:1.3}.card-summary{font-size:13px;line-height:1.7}}

.footer{padding:26px 20px 42px;background:#081225}.rights-notice-image{display:block;width:min(100%,760px);height:auto;margin:0 auto}

/* Hero composition: brand statement first, market coverage as a quiet information line. */
.hero{min-height:414px;padding-top:64px;padding-bottom:58px;display:flex;align-items:center}.hero-inner{max-width:860px}.hero .eyebrow{margin-bottom:17px;color:#91a8ff;font-size:10px;letter-spacing:.2em}.hero h1{max-width:none;font-size:clamp(46px,5.8vw,74px);font-weight:900;line-height:1.02;letter-spacing:-.068em;text-wrap:balance}.hero h1>span{display:block;color:#fff}.hero h1 em{display:block;margin-top:8px;color:#9eb2ff;font-style:normal}.hero p{max-width:38rem;margin-top:23px;color:#d1daed;font-size:clamp(15px,1.4vw,17px);line-height:1.78}.market-coverage{display:flex;align-items:center;flex-wrap:wrap;gap:0;margin-top:31px;padding-top:15px;border-top:1px solid rgba(173,194,255,.26);color:#d9e2f7;font-size:11px;font-weight:850;letter-spacing:.1em;line-height:1.6}.market-coverage span{display:inline-flex;align-items:center;white-space:nowrap}.market-coverage span+span:before{content:"";width:3px;height:3px;margin:0 13px;border-radius:50%;background:#63d8cb;box-shadow:0 0 10px rgba(99,216,203,.85)}.market-coverage b{margin-left:16px;color:#77dfd2;font-size:10px;font-weight:850;letter-spacing:.14em;white-space:nowrap}
@media(max-width:600px){.hero{min-height:390px;padding-top:48px;padding-bottom:48px;align-items:flex-start}.hero .eyebrow{margin-bottom:14px;font-size:9px;letter-spacing:.16em}.hero h1{font-size:clamp(38px,10.6vw,48px);line-height:1.08;letter-spacing:-.064em}.hero h1 em{margin-top:7px}.hero p{max-width:35rem;margin-top:21px;font-size:15px;line-height:1.78}.market-coverage{margin-top:26px;padding-top:13px;font-size:10px;letter-spacing:.08em}.market-coverage span+span:before{margin:0 10px}.market-coverage b{flex-basis:100%;margin:7px 0 0;font-size:9px;letter-spacing:.13em}}

/* Restore the per-company sector accent that was masked by the global card border override. */
.stock-card{isolation:isolate;border-top-color:var(--card-accent,#0a8b7c)}.stock-card:before{content:"";position:absolute;z-index:0;inset:0 0 auto;height:112px;border-radius:16px 16px 0 0;background:linear-gradient(135deg,color-mix(in srgb,var(--card-accent,#0a8b7c) 18%,#fff),color-mix(in srgb,var(--card-accent,#0a8b7c) 5%,#fff) 58%,transparent);pointer-events:none}.stock-card>*{position:relative;z-index:1}

/* Use the full editorial width on listings while preserving comfortable reading measure. */
.hero-inner{width:min(100%,960px);max-width:none}.footer{padding:34px max(20px,calc((100% - 1180px)/2)) 52px}.footer .rights-notice-image{width:100%;max-width:1180px}@media(max-width:600px){.footer{padding:24px 14px 38px}.footer .rights-notice-image{width:100%;max-width:none}}
