:root{--ink:#141414;--ink2:#3d3d38;--mute:#8a877f;--line:#ddd8cf;--hair:#ebe7df;--paper:#fffefb;--soft:#faf8f3;--navy:#0b2447;--gold:#9a7b45;--gold2:#c0a062;--red:#9e1b30;--f-mast:"Bodoni Moda",Didot,Georgia,serif;--f-head:"Noto Serif KR",Georgia,serif;--f-ui:"Pretendard","Noto Sans KR",-apple-system,BlinkMacSystemFont,sans-serif;--f-body:"Pretendard","Noto Sans KR",-apple-system,BlinkMacSystemFont,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:500 15.5px/1.7 var(--f-ui);letter-spacing:-.01em;word-break:keep-all;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
.note{background:var(--navy);color:#d8c9a3;text-align:center;padding:7px 16px;font:600 9.5px var(--f-ui);letter-spacing:.26em}
.mast{border-bottom:1px solid var(--ink)}.mast-in{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:24px;padding:36px 0 26px}.mast-date{font-size:11.5px;color:var(--mute)}.mast-date b{display:block;color:var(--ink)}
.logo{text-align:center}.logo .word{font-family:var(--f-mast);font-weight:700;font-size:clamp(28px,4.2vw,52px);letter-spacing:.07em;line-height:1;white-space:nowrap;color:var(--ink)}.logo .word em{font-style:normal;color:var(--ink)}.logo .cities{display:block;margin-top:10px;font:600 10.5px var(--f-ui);letter-spacing:.52em;color:var(--ink2)}.logo .kr{display:block;margin-top:8px;font-family:var(--f-head);font-size:12.5px;letter-spacing:.42em}.logo small{display:block;margin-top:7px;font:600 9px var(--f-ui);letter-spacing:.48em;color:var(--mute)}
.mast-tools{display:flex;justify-content:flex-end}.btn{border:1px solid var(--navy);color:var(--navy);padding:8px 15px;font:700 10.5px var(--f-ui);letter-spacing:.16em;display:inline-block}.block-btn{display:block;text-align:center;margin-top:14px}
nav.sections{position:sticky;top:0;z-index:20;background:rgba(255,254,251,.97);border-bottom:1px solid var(--line)}nav.sections ul{list-style:none;margin:0;padding:0;display:flex;justify-content:center;overflow-x:auto}nav.sections a{display:block;padding:13px 14px;font-size:12.5px;font-weight:600;white-space:nowrap}
main.wrap{padding-top:36px;padding-bottom:20px}
.home-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:44px;border-bottom:1px solid var(--ink);padding-bottom:40px}
.sec-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--ink);padding-bottom:11px;margin-bottom:6px}.sec-head h2{font-family:var(--f-head);font-weight:700;font-size:22px;letter-spacing:-.02em;margin:0}.sec-head span{font-family:var(--f-mast);font-style:italic;color:var(--gold);font-size:13px}
.latest-list{list-style:none;margin:0;padding:0;counter-reset:n}.latest-list li{border-bottom:1px solid var(--hair)}.latest-list a{display:grid;grid-template-columns:86px minmax(0,1fr);gap:6px 14px;padding:11px 0;align-items:start}.latest-list img{width:86px;height:58px;object-fit:cover;grid-row:1/4}.l-meta{font-size:10.5px;color:var(--mute);letter-spacing:.06em}.l-title{font-family:var(--f-head);font-weight:700;letter-spacing:-.02em;font-size:14.5px;line-height:1.45}.l-by{font-size:10px;color:var(--navy);letter-spacing:.14em;font-weight:700}
.tv-panel{border-left:1px solid var(--line);padding-left:36px}.video-box{aspect-ratio:16/9;background:#000;margin-top:16px}.video-box iframe{width:100%;height:100%;border:0;display:block}.tv-title{font-family:var(--f-head);font-weight:700;letter-spacing:-.02em;font-size:19px;line-height:1.4;margin:16px 0 8px}.tv-desc{font-family:var(--f-head);font-size:13.5px;color:var(--ink2);margin:0}.tv-more{margin-top:18px;border-top:1px solid var(--hair)}.tv-more a{display:block;padding:11px 0;border-bottom:1px solid var(--hair);font-family:var(--f-head);font-size:13.5px;font-weight:600}
.band{margin-top:48px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:20px}.card img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;margin-bottom:12px}.card h3{font-family:var(--f-head);font-weight:700;letter-spacing:-.02em;font-size:18px;line-height:1.45;margin:7px 0}.card p{font-family:var(--f-head);font-size:13px;color:var(--ink2);line-height:1.7;margin:0 0 8px}
.label{font:700 10px var(--f-ui);letter-spacing:.22em;color:var(--gold);text-transform:uppercase}.article{max-width:820px;margin:0 auto;padding:10px 0 40px}.article h1{font-family:var(--f-head);font-weight:900;letter-spacing:-.025em;font-size:36px;line-height:1.3;margin:14px 0 16px}.byline{display:flex;gap:16px;font-size:11px;color:var(--mute);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:11px 0}.byline b{color:var(--navy);letter-spacing:.14em}.feat{margin:22px 0}.feat img{width:100%;display:block}.feat figcaption,.content figcaption{font-size:11px;color:var(--mute);padding-top:8px;line-height:1.6}.content{font-family:var(--f-head);font-size:16.5px;line-height:1.9;color:var(--ink2)}.content h2{font-size:22px;color:var(--ink);margin:34px 0 12px}.content img{max-width:100%;height:auto}.content figure{margin:24px 0}.content a{color:var(--navy);text-decoration:underline}
footer{border-top:1px solid var(--ink);margin-top:56px;padding:34px 0 40px;color:var(--mute);font-size:11.5px}.foot-logo{font-family:var(--f-mast);font-size:22px;color:var(--ink);letter-spacing:.06em;display:block}.foot nav{display:flex;gap:18px;flex-wrap:wrap;margin:14px 0;font-weight:600;color:var(--ink2)}
.pagination{display:flex;gap:18px;justify-content:center;margin:36px 0;font-size:12px}
@media(max-width:900px){.wrap{padding:0 18px}.mast-in{grid-template-columns:1fr;text-align:center}.mast-date,.mast-tools{display:none}.home-grid{grid-template-columns:1fr}.tv-panel{border-left:0;padding-left:0}.cards{grid-template-columns:1fr}.article h1{font-size:27px}}
.cover{border-bottom:1px solid var(--ink);padding-bottom:38px;margin-bottom:40px}.cover-story figure{margin:16px 0 20px}.cover-story img{width:100%;aspect-ratio:16/8;object-fit:cover;display:block}.cover-story h1{font-family:var(--f-head);font-weight:900;letter-spacing:-.025em;font-size:38px;line-height:1.3;margin:12px 0 14px;max-width:20em}.cover-story .deck{font-family:var(--f-head);font-size:16px;line-height:1.85;color:var(--ink2);margin:0 0 14px;max-width:56em}
@media(max-width:900px){.cover-story h1{font-size:26px}}

.ticker{border-bottom:1px solid var(--hair);background:var(--soft);overflow:hidden}.ticker-in{display:flex;gap:16px;align-items:center;padding-top:9px;padding-bottom:9px}.ticker-tag{flex:none;color:var(--red);font:800 11px var(--f-ui);letter-spacing:.14em}.ticker-window{flex:1;min-width:0;overflow:hidden;white-space:nowrap;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}.ticker-track{display:inline-flex;gap:28px;padding-right:28px;white-space:nowrap;font-family:var(--f-head);font-size:13px;font-weight:600;animation:bnn-ticker 90s linear infinite}.ticker-track .sep{color:var(--gold)}.ticker:hover .ticker-track{animation-play-state:paused}@keyframes bnn-ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}@media (prefers-reduced-motion: reduce){.ticker-track{animation:none}}

.most-viewed{margin-top:30px}.mv-list{list-style:none;margin:0;padding:0;counter-reset:mv}.mv-list li{counter-increment:mv;border-bottom:1px solid var(--hair)}.mv-list a{display:grid;grid-template-columns:28px 64px minmax(0,1fr);gap:4px 10px;padding:10px 0;align-items:start}.mv-img{width:64px;height:44px;object-fit:cover;display:block}.mv-list .l-meta{grid-column:3}.mv-list a:before{content:counter(mv);font-family:var(--f-mast);font-size:20px;color:var(--gold);line-height:1.2}.mv-title{font-family:var(--f-head);font-weight:700;letter-spacing:-.015em;font-size:13.5px;line-height:1.5}.mv-list .l-meta{grid-column:2}

.mv-tabs{display:flex;gap:6px;margin:14px 0 4px}.mv-tab{flex:1;background:transparent;border:1px solid var(--line);padding:7px 0;font:700 11px var(--f-ui);letter-spacing:.1em;color:var(--mute);cursor:pointer}.mv-tab.on{border-color:var(--navy);color:var(--navy);box-shadow:inset 0 -2px var(--gold)}.mv-panel{display:none}.mv-panel.on{display:block}

.lang{position:relative}.lang-menu{display:none;position:absolute;right:0;top:calc(100% + 8px);background:#fff;border:1px solid var(--line);min-width:150px;z-index:50;box-shadow:0 10px 30px rgba(0,0,0,.08);padding:6px 0}.lang-menu.open{display:block}.lang-menu a{display:block;padding:7px 12px;font-size:12px;font-weight:600;white-space:nowrap}.lang-menu a:hover{background:var(--soft)}
.mast-tools{gap:18px;align-items:flex-start}.mast-tools .btn{padding:6px 10px;font-size:9.5px;letter-spacing:.12em;line-height:1.25}

.subscribe{margin-top:56px;background:var(--navy);color:#eef0f4;padding:48px 0}.sub-in{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:start}.subscribe h2{font-family:var(--f-head);font-size:27px;margin:12px 0}.subscribe p{font-family:var(--f-head);color:#c7cfdd;font-size:14px;line-height:1.8}.subscribe .label{color:var(--gold2)}.sub-box label{font:700 10px var(--f-ui);letter-spacing:.18em;color:#c7cfdd}.sub-row{display:flex;border-bottom:1px solid #fff;margin-top:12px}.sub-row input{flex:1;background:transparent;border:0;outline:0;color:#fff;padding:11px 2px;font:300 14px var(--f-ui);min-width:0}.sub-row input::placeholder{color:#98a3b5}.sub-row button{background:transparent;border:0;color:#fff;font:700 11px var(--f-ui);letter-spacing:.12em;cursor:pointer;white-space:nowrap}.sub-paid{display:block;text-align:center;margin-top:18px;border-color:#fff;color:#fff}.sub-msg{font-size:12px!important}.sub-msg.success{color:#a7e8bd!important}.sub-msg.error{color:#ffb3b3!important}.fine{font-size:11px!important;color:#98a3b5!important}
@media(max-width:900px){.sub-in{grid-template-columns:1fr}}

.lang-switch{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 14px;align-items:center}.lang-switch-btn{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border:1px solid #231f50;border-radius:999px;font-family:'Noto Sans KR',sans-serif;font-size:11px;line-height:1.35;font-weight:700;text-decoration:none;color:#231f50;background:#fff}.lang-switch-btn:hover{background:#231f50;color:#fff}

.card-region{display:block;font:700 11px var(--f-ui);color:#777;letter-spacing:.14em;line-height:1.4;margin-top:3px}.card-region .region-label{display:none}.card-region .region-label:first-of-type{display:inline}

/* Denser type — Pretendard body/UI, heavier serif headlines (logo masthead unchanged) */
.content{font-family:var(--f-body);font-weight:500;font-size:17px;line-height:1.82;letter-spacing:-.015em;color:var(--ink2)}
.content h2,.content h3{font-family:var(--f-head);font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.content h2{line-height:1.4}.content p{margin:0 0 1.1em}
.card p,.tv-desc,.cover-story .deck{font-family:var(--f-body);font-weight:500;letter-spacing:-.01em}
.card p{font-size:13.5px;line-height:1.7}.tv-desc{line-height:1.7}
.cover-story .deck{line-height:1.8}
.subscribe p{font-family:var(--f-body);font-weight:500;letter-spacing:-.01em}
.subscribe h2{font-weight:700;letter-spacing:-.02em}
.feat figcaption,.content figcaption{font-family:var(--f-body);font-weight:500}
.byline,.l-meta,.mast-date,footer{font-family:var(--f-body);font-weight:500}
nav.sections a{font-weight:700;letter-spacing:-.01em}
.ticker-track{font-weight:700}
.tv-more a{font-weight:700}
.lang-switch-btn{font-family:var(--f-body)}
.sub-row input{font-weight:500}
@media(max-width:900px){body{font-size:15px}.content{font-size:16.5px;line-height:1.8}}

/* Subhead spacing — one body line below h2/h3 (body 17px x 1.82 = 30.9px) */
.content h2{margin:34px 0 31px}
.content h3{font-size:19px;line-height:1.45;margin:30px 0 31px}
@media(max-width:900px){.content h2{margin-bottom:30px}.content h3{margin-bottom:30px}}
.tv-title{overflow-wrap:break-word}
.tv-more a{overflow-wrap:break-word;line-height:1.5}

@media(max-width:900px){.lang-switch{gap:7px;margin-bottom:12px}.lang-switch-btn{font-size:10.5px;padding:4px 8px;min-height:28px}}


/* Mobile masthead — BNN wordmark (desktop masthead unchanged) */
.logo .word-mobile,.logo .word-full-mobile{display:none}
@media(max-width:900px){
/* Mobile only: remove navy top band (its sole content was the gold BEXUS NEWS NETWORK text logo) */
.note{display:none}
.mast-in{padding:24px 0 20px;gap:0}
.logo{min-width:0}
.logo .word{display:none}
.logo .word-mobile{display:block;font-family:var(--f-mast);font-weight:700;font-size:clamp(46px,15vw,64px);letter-spacing:.04em;line-height:.95;white-space:nowrap;color:var(--ink)}
.logo .word-full-mobile{display:block;margin-top:9px;font-family:var(--f-mast);font-weight:700;font-size:13px;letter-spacing:.20em;line-height:1.25;white-space:nowrap;color:var(--ink)}
.logo .cities{margin-top:9px;font-size:10px;letter-spacing:.34em;white-space:nowrap}
.logo .kr{margin-top:7px;font-size:12px;letter-spacing:.30em;white-space:nowrap}
}
@media(max-width:360px){
.logo .word-mobile{font-size:52px}
.logo .word-full-mobile{font-size:12px;letter-spacing:.16em}
.logo .cities{letter-spacing:.28em}
.logo .kr{letter-spacing:.24em}
}

/* Latest rotator — text-only 6-line regional groups, 3s cycle */
.latest-groupbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0 2px}
.latest-group-name{font:700 11px var(--f-ui);letter-spacing:.16em;color:var(--navy)}
.latest-dots{display:flex;gap:7px;align-items:center}
.latest-dot{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:var(--line);cursor:pointer}
.latest-dot.on{background:var(--gold)}
.latest-panels{height:258px;overflow:hidden}
.latest-panel{display:none}
.latest-panel.on{display:block}
.latest-list--text a{display:block;padding:10px 0;grid-template-columns:none}
.latest-list--text li{border-bottom:1px solid var(--hair)}
.latest-list--text .l-title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.45}
@media(max-width:900px){.latest-panels{height:258px}}
.latest{min-width:0}
.latest-rotator,.latest-panels,.latest-panel,.latest-list--text,.latest-list--text li,.latest-list--text a{min-width:0;max-width:100%}

/* Logo hairline thickening (2026-10-18) - Bodoni Moda 900 at low optical size thickens hairline strokes; same-colour stroke reinforces them. Masthead only; colour/text/layout unchanged. */
.logo .word,.logo .word-mobile,.logo .word-full-mobile{font-weight:900;font-optical-sizing:none;font-variation-settings:"opsz" 6;-webkit-text-stroke:.45px var(--ink)}
.logo .word-full-mobile{-webkit-text-stroke:.25px var(--ink)}
@media(max-width:900px){.logo .word-mobile{-webkit-text-stroke:.4px var(--ink)}}

/* Mobile full-name width matched to BNN wordmark (2026-10-18) — font scales with BNN (15vw, capped 64px) so both left/right edges align; one line, no wrap */
@media(max-width:900px){.logo .word-full-mobile{font-size:clamp(8px,2.3438vw,10px);letter-spacing:.15em}}
@media(max-width:360px){.logo .word-full-mobile{font-size:8.13px}}

/* Mobile horizontal-overflow fix (2026-10-18) — diagnosed on live bexus.info at 390/360/320px:
   (1) article body: long bare source URLs (justice.gov/fbi.gov) in .content li/a could not break
       (body word-break:keep-all + overflow-wrap:normal) -> layout viewport expanded to 539px;
   (2) subscribe band: .sub-in grid items had min-width:auto, min-content 373px -> viewport
       expanded to 391px even on a 390px phone (present on every page via default.hbs);
   (3) section nav: centred flex with overflow-x:auto clipped its left edge (홈 at -48px)
       and was a nested horizontal scroller under the sticky bar.
   Element-level fixes first; html/body clip is only a backstop. Pinch zoom is left enabled
   on purpose — with no overflow there is nothing to pan sideways. */
html,body{overflow-x:hidden;overflow-x:clip}
body{overscroll-behavior-x:none}
img,video,iframe,embed,object,svg{max-width:100%}
.home-grid>*,.cards>*,.sub-in>*,.mast-in>*,.latest,.tv-panel{min-width:0;max-width:100%}
.content,.content p,.content li,.content a,.content td,.content th,.content figcaption,.content blockquote{overflow-wrap:anywhere}
.content table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.content pre,.content code{max-width:100%}
.content pre{overflow-x:auto}
.content figure,.content .kg-card,.content .kg-embed-card,.content .kg-image-card,.content .kg-gallery-card,.content .kg-video-card,.content .kg-audio-card,.content .kg-file-card,.content .kg-bookmark-card{min-width:0;max-width:100%}
.article h1,.cover-story h1,.card h3,.tv-title,.mv-title{overflow-wrap:anywhere}
.ticker,.ticker-window{max-width:100%}
ins.adsbygoogle,.adsbygoogle iframe{max-width:100%!important}
@media(max-width:900px){
.wrap{max-width:100%}
nav.sections ul{justify-content:space-between;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;max-width:100%}
nav.sections ul::-webkit-scrollbar{display:none}
nav.sections li{flex:1 1 auto;text-align:center;min-width:0}
nav.sections a{padding:13px 5px}
.sub-in,.sub-box,.sub-row{min-width:0}
}
@media(max-width:380px){
nav.sections a{padding:12px 3px;font-size:11px;letter-spacing:-.05em}
}

/* Masthead logo — two lines only, all viewports (2026-10-18, final): BNN over BEXUS NEWS NETWORK.
   WASHINGTON · SEOUL and the Korean line are removed from the header logo block only
   (footer/byline/.note are untouched). Classes word-mobile/word-full-mobile are kept because
   the mobile width-match and hairline-thickening rules above are built on them. */
.logo .word,.logo .cities,.logo .kr{display:none!important}
.logo .word-mobile{display:block;font-family:var(--f-mast);font-weight:900;font-optical-sizing:none;font-variation-settings:"opsz" 6;-webkit-text-stroke:.45px var(--ink);font-size:72px;letter-spacing:.04em;line-height:.95;white-space:nowrap;color:var(--ink)}
.logo .word-full-mobile{display:block;margin-top:10px;font-family:var(--f-mast);font-weight:900;font-optical-sizing:none;font-variation-settings:"opsz" 6;-webkit-text-stroke:.25px var(--ink);font-size:11.2px;letter-spacing:.15em;line-height:1.25;white-space:nowrap;color:var(--ink)}
@media(max-width:900px){
.mast-in{padding:24px 0 20px}
.logo .word-mobile{font-size:clamp(46px,15vw,64px);-webkit-text-stroke:.4px var(--ink)}
.logo .word-full-mobile{margin-top:9px;font-size:clamp(8px,2.3438vw,10px);letter-spacing:.15em}
}
@media(max-width:360px){.logo .word-full-mobile{font-size:8.13px}}

/* Mobile right-edge fit (2026-10-18) — boss report: a right-hand blank still showed on
   mobile after the horizontal-overflow fix. Re-measured live at 390/360 before this block:
   in Chromium every boxed section already measured left=right=18px with no unclipped
   overflow, so the visible blank is the boxed-content inset itself standing against the
   full-bleed mast/nav/ticker bands, plus grid tracks that can still size to min-content
   on narrow device builds and stop the right edge short of the screen. Mobile only:
   (1) every .wrap is pinned to width:100% (no centred-box rounding can widen one side)
       and the side inset drops from 18px to a symmetric 12px minimum (safe-area aware),
       so cover/card/sec-head content runs to 12px from both screen edges;
   (2) .home-grid/.cards/.sub-in tracks are forced to minmax(0,1fr) with min-width:0
       children so nothing holds the right edge in;
   (3) mast-in keeps 0 side padding (centred logo is full-width by design) and the
       subscribe/footer wraps follow the same 12px grid. Desktop is untouched. */
@media(max-width:900px){
.wrap{width:100%;max-width:100%;margin-left:auto;margin-right:auto;padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px))}
.mast-in{padding-left:0;padding-right:0}
.home-grid,.cards,.sub-in{grid-template-columns:minmax(0,1fr)}
.home-grid>*,.cards>*,.sub-in>*,.mast-in>*{min-width:0;max-width:100%}
main.wrap,nav.sections .wrap,.ticker-in,.sub-in,footer .wrap{width:100%}
.cover,.cover-story,.home-grid,.latest,.tv-panel,.cards,.card,.article,.content,.sec-head{min-width:0;max-width:100%}
img,video,iframe,embed,object{max-width:100%}
}

/* Hebrew RTL: only posts whose body contains a dir=rtl wrapper (Hebrew articles) */
.content [dir="rtl"]{direction:rtl;text-align:right}
.content [dir="rtl"] p,.content [dir="rtl"] li{text-align:right}
.article:has(.content [dir="rtl"]) h1{direction:rtl;text-align:right}
.article:has(.content [dir="rtl"]) .label,.article:has(.content [dir="rtl"]) .byline{direction:rtl}

.article.rtl-article{direction:rtl}
.article.rtl-article h1{direction:rtl;text-align:right}
.article.rtl-article .content{direction:rtl;text-align:right}
.article.rtl-article .content p,.article.rtl-article .content li{text-align:right}

/* Thin small logo + symmetric masthead padding (2026-10-18, final boss directives):
   (1) Small line BEXUS NEWS NETWORK only — thinned against the thick BNN above it:
       weight 900 -> 500 (lightest Bodoni Moda loaded), same-colour -webkit-text-stroke
       removed entirely, optical sizing restored to auto so hairlines stay fine/elegant.
       It remains clearly legible (12.15px desktop / ~9-9.8px mobile, ink colour).
       Big BNN keeps its 900 weight + .45px/.4px stroke thickening untouched.
       Font-size was re-tuned after thinning (glyphs narrow when lighter) so the small
       line still spans the BNN width: measured text widths match BNN within 1px at
       1280 / 390 / 360 / 320 (desktop 12.15px; mobile 2.5vw capped 10.8px).
   (2) Logo-block vertical padding made exactly symmetric, total height preserved:
       desktop .mast-in 36px/26px -> 31px/31px; mobile 24px/20px -> 22px/22px.
       Only .mast-in padding changes; no other layout, overflow or right-edge rule touched. */
.logo .word-full-mobile{font-weight:500;-webkit-text-stroke:0px transparent;font-optical-sizing:auto;font-variation-settings:normal;font-size:12.15px}
.mast-in{padding-top:31px;padding-bottom:31px}
@media(max-width:900px){
.mast-in{padding-top:22px;padding-bottom:22px}
.logo .word-full-mobile{font-size:clamp(8px,2.5vw,10.8px)}
}

/* Haute Didot logo (2026-10-18, boss selected luxury concept 01) — Bodoni Moda 600 over
   Bodoni Moda 400. Main keeps the concept's high-contrast Didot feel; the only hairline
   safeguard is the font's own low optical size (opsz 14, optical-sizing off) so thin
   strokes stay visible at web size — no 900 weight and no text-stroke reinforcement.
   Small line stays thin at 400 with optical sizing auto, and its size is re-tuned for
   the narrower 600 wordmark so both lines still share the same left/right edges:
   measured text widths match within ~1px at 1280 (11.45px), 390 (2.355vw) and
   360 (2.355vw). Masthead padding symmetry (31/31 desktop, 22/22 mobile), the mobile
   overflow/right-edge fixes and the two-line-only header are untouched. */
.logo .word-mobile{font-weight:600;font-optical-sizing:none;font-variation-settings:"opsz" 14;-webkit-text-stroke:0px transparent}
.logo .word-full-mobile{font-weight:400;-webkit-text-stroke:0px transparent;font-optical-sizing:auto;font-variation-settings:normal;font-size:11.45px}
@media(max-width:900px){
.logo .word-full-mobile{font-size:clamp(7px,2.355vw,10.05px)}
}

/* Desktop logo correction (2026-10-18, urgent boss directive) — desktop (>900px) ONLY:
   restore the confirmed large one-line "BEXUS NEWS NETWORK" masthead. The BNN two-line
   logo from the Haute Didot pass stays on mobile (<=900px) exactly as-is: this block
   hides word-mobile/word-full-mobile only above 900px and shows .word only there.
   Mobile, overflow/right-edge, RTL, symmetric masthead padding are untouched.
   Desktop type keeps the Haute Didot (Bodoni Moda) feel at 600 / opsz 14, with a
   0.25px same-ink stroke as hairline safeguard so thin strokes do not vanish at
   52px (verified in live render). No WASHINGTON/SEOUL or Korean line is re-added. */
@media(min-width:901px){
.logo .word{display:block!important;font-family:var(--f-mast);font-weight:600;font-optical-sizing:none;font-variation-settings:"opsz" 14;-webkit-text-stroke:.25px var(--ink);font-size:clamp(28px,4.2vw,52px);letter-spacing:.07em;line-height:1;white-space:nowrap;color:var(--ink)}
.logo .word-mobile,.logo .word-full-mobile{display:none!important}
}

/* Desktop Latest restored / Mobile Latest kept (2026-10-18, final boss directive):
   Desktop (>900px) shows the pre-rotator original Latest section restored from
   bnn_ghost_theme_backup_before_latestrotator_20261018: thumbnail photos
   (86x58, size s) + meta/title/byline, 16 articles (get limit 17, from 2,
   limit 16 — skip-first rule kept, count raised 15 to 16; only the newer -hebrew/-dutch
   exclusions from the current multilingual filters are retained so translated
   posts do not leak into the Korean list). Its styling is the original
   .latest-list rule near the top of this file, unchanged.
   Mobile (<=900px) keeps the text-only 6-title / 3s regional rotator exactly
   as-is. The 900px boundary is explicit both ways so neither leaks. */
.latest-desktop{display:none}
@media(min-width:901px){
.latest-desktop{display:block}
.latest-rotator{display:none!important}
}
@media(max-width:900px){
.latest-desktop{display:none!important}
.latest-rotator{display:block}
.latest-panels{height:258px}
.latest-list--text{display:block}
.latest-list--text a{padding:10px 0}
.latest-list--text .l-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14.5px;line-height:1.45;display:block}
}


/* English context UI (2026-10-18, boss directive) — English pages are
   exactly those Ghost marks with body class tag-english: English articles
   (slug -en, tag english) and the /tag/english/ archive. Only on those
   pages the Korean common blocks (masthead date line, nav, breaking-news
   ticker, subscribe, footer, pagination) are hidden and the English
   duplicates in default.hbs / pagination.hbs are shown; the English
   ticker and lists query tags:english only. Every other page (Korean
   home/articles, other-language tags) keeps the Korean blocks untouched,
   so desktop/mobile and Korean/English never leak into each other. */
.i18n-en{display:none!important}
body.tag-english .i18n-ko{display:none!important}
body.tag-english .i18n-en{display:block!important}
body.tag-english span.i18n-en{display:inline!important}

@media(max-width:900px){
body.tag-english nav.sections.i18n-en ul{justify-content:flex-start}
body.tag-english nav.sections.i18n-en li{flex:0 0 auto}
body.tag-english nav.sections.i18n-en a{padding:12px 9px;font-size:11.5px;letter-spacing:0}
}

/* Language menu consolidation (2026-10-18, boss directive) — the separate
   ENGLISH masthead button is removed from default.hbs; English is now the
   second item inside the existing Translate dropdown (after Korean, before
   Japanese), still linking to /tag/english/. This block only pins the menu
   inside the masthead / viewport; no logo, latest-list, or i18n rule changes.
   Desktop (>900px): the tools column stays at the right edge of the 1240px
   wrap (32px inset), the dropdown is right-anchored to the Translate button
   (right:0, never left-anchored, so it cannot run past the right screen
   edge), capped in width/height and scrollable instead of overflowing.
   Mobile (<=900px): mast tools were display:none in the base 900px block,
   so no language control existed on phones. They are shown again as ONE
   centred row directly under the logo (mast-date stays hidden, logo block
   untouched); the dropdown is centred on the button and clamped to
   100vw-24px, so it cannot stick out or be clipped on either side. */
.mast-tools{min-width:0;max-width:100%}
.lang{flex:none;min-width:0}
.lang-menu{right:0;left:auto;max-width:min(220px,calc(100vw - 24px));max-height:min(70vh,560px);overflow-y:auto;overscroll-behavior:contain}
.lang-menu a{overflow:hidden;text-overflow:ellipsis}
@media(max-width:900px){
.mast-tools{display:flex;justify-content:center;align-items:flex-start;margin-top:10px}
.lang-menu{left:50%;right:auto;transform:translateX(-50%);max-width:calc(100vw - 24px)}
}

/* LANGUAGE label + globe icon (2026-10-18, boss directive) — minimal overlay
   on the langmenu build: the dropdown button reads LANGUAGE on BOTH Korean
   and English pages (no i18n-ko/i18n-en spans inside the button any more),
   with one small globe SVG in front of the word. The icon uses
   stroke="currentColor", so it inherits the button's existing navy text
   colour (var(--navy) via .btn) — no new colour is introduced. The button
   becomes inline-flex so icon, word and caret sit on one centred line;
   letter-spacing is trimmed slightly (.12em -> .10em) and padding kept at
   6px 10px so LANGUAGE+icon+caret still fits the masthead tools column on
   desktop and the centred mobile row without pushing outside the header.
   Dropdown items, order, links and the inside-header pinning above are
   untouched. */
.lang-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;letter-spacing:.10em}
.lang-btn .lang-globe{flex:none;display:block;width:13px;height:13px}
.lang-btn .lang-label{display:inline-block}
.lang-btn .lang-caret{display:inline-block;font-size:8px;line-height:1}

/* News tip section (2026-10-18, boss directive) — large text-only tip box
   below the subscribe band on the homepage flow (default.hbs, after the
   subscribe sections, before the footer). No file input anywhere: tips are
   text only to block virus attachments. Desktop = head + form two columns;
   mobile (<=900px) = one minmax(0,1fr) column. All fields min-width:0 /
   max-width:100% so nothing can push past the viewport (mobile overflow
   rules above untouched). Korean/English follow the existing i18n-ko /
   i18n-en + body.tag-english separation. */
.tip-section{margin-top:0;background:var(--paper);color:var(--ink);padding:56px 0 8px;border-top:1px solid var(--ink)}
.tip-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:48px;align-items:start}
.tip-head .label{color:var(--gold)}
.tip-section h2{font-family:var(--f-head);font-weight:700;letter-spacing:-.02em;font-size:30px;line-height:1.3;margin:12px 0}
.tip-head p{font-family:var(--f-body);font-weight:500;font-size:14.5px;line-height:1.85;color:var(--ink2);margin:0;max-width:34em}
.tip-form{min-width:0;max-width:100%}
.tip-row{margin-bottom:18px;min-width:0}
.tip-row label{display:block;font:700 10.5px var(--f-ui);letter-spacing:.16em;color:var(--navy);margin-bottom:8px}
.tip-row input,.tip-row textarea{width:100%;max-width:100%;min-width:0;box-sizing:border-box;background:#fff;border:1px solid var(--line);color:var(--ink);padding:12px 14px;font:500 14.5px var(--f-body);line-height:1.6;outline:0;border-radius:0;-webkit-appearance:none;appearance:none}
.tip-row textarea{resize:vertical;min-height:180px}
.tip-row input:focus,.tip-row textarea:focus{border-color:var(--navy)}
.tip-row input::placeholder,.tip-row textarea::placeholder{color:var(--mute)}
.tip-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.tip-note{font-size:12px;line-height:1.7;color:var(--mute);margin:0 0 16px}
.tip-submit{display:block;width:100%;background:var(--navy);color:#fff;border:1px solid var(--navy);padding:15px 18px;font:700 13px var(--f-ui);letter-spacing:.14em;cursor:pointer}
.tip-submit:hover{background:#12325e}
.tip-msg{font-size:12.5px;line-height:1.6;color:var(--navy);margin:12px 0 0;min-height:1.2em}
@media(max-width:900px){
.tip-section{padding:40px 0 4px}
.tip-in{grid-template-columns:minmax(0,1fr);gap:26px}
.tip-section h2{font-size:25px}
.tip-row input,.tip-row textarea{font-size:15px}
}

/* News tip section — other languages (2026-10-18, boss directive) — minimal
   overlay on the tip-section build above. The 11 added sections in
   default.hbs carry .tip-lang + .i18n-<code> and are hidden by default.
   Only the section matching the page language is shown, using the same
   language signal the theme already uses: Ghost body tag classes
   (body.tag-japanese etc. on /tag/<language>/ archives and on articles
   carrying that language tag; suffixes -ja/-pt/-es/-zh-tw/-pl/-ro/-fr/
   -it/-de/-he/-nl mirror those tags). On such a page ONLY the tip
   sections swap: the Korean/English tip sections are hidden within
   .tip-section scope, so subscribe/nav/ticker and the existing
   tag-english handling are untouched. No file input is added anywhere.
   Hebrew keeps RTL: its section has dir="rtl" in markup, and the rules
   below keep its text/inputs right-aligned without touching the
   article .rtl-article rules. */
.tip-lang{display:none!important}
body.tag-japanese .tip-section.i18n-ko,body.tag-japanese .tip-section.i18n-en{display:none!important}
body.tag-japanese .tip-section.i18n-ja{display:block!important}
body.tag-portuguese .tip-section.i18n-ko,body.tag-portuguese .tip-section.i18n-en{display:none!important}
body.tag-portuguese .tip-section.i18n-pt{display:block!important}
body.tag-spanish .tip-section.i18n-ko,body.tag-spanish .tip-section.i18n-en{display:none!important}
body.tag-spanish .tip-section.i18n-es{display:block!important}
body.tag-chinese-taiwan .tip-section.i18n-ko,body.tag-chinese-taiwan .tip-section.i18n-en{display:none!important}
body.tag-chinese-taiwan .tip-section.i18n-zh-tw{display:block!important}
body.tag-polish .tip-section.i18n-ko,body.tag-polish .tip-section.i18n-en{display:none!important}
body.tag-polish .tip-section.i18n-pl{display:block!important}
body.tag-romanian .tip-section.i18n-ko,body.tag-romanian .tip-section.i18n-en{display:none!important}
body.tag-romanian .tip-section.i18n-ro{display:block!important}
body.tag-french .tip-section.i18n-ko,body.tag-french .tip-section.i18n-en{display:none!important}
body.tag-french .tip-section.i18n-fr{display:block!important}
body.tag-italian .tip-section.i18n-ko,body.tag-italian .tip-section.i18n-en{display:none!important}
body.tag-italian .tip-section.i18n-it{display:block!important}
body.tag-german .tip-section.i18n-ko,body.tag-german .tip-section.i18n-en{display:none!important}
body.tag-german .tip-section.i18n-de{display:block!important}
body.tag-hebrew .tip-section.i18n-ko,body.tag-hebrew .tip-section.i18n-en{display:none!important}
body.tag-hebrew .tip-section.i18n-he{display:block!important}
body.tag-dutch .tip-section.i18n-ko,body.tag-dutch .tip-section.i18n-en{display:none!important}
body.tag-dutch .tip-section.i18n-nl{display:block!important}
body.tag-hebrew .tip-section.i18n-he{direction:rtl;text-align:right}
body.tag-hebrew .tip-section.i18n-he .tip-head p,body.tag-hebrew .tip-section.i18n-he .tip-note,body.tag-hebrew .tip-section.i18n-he .tip-msg{text-align:right}
body.tag-hebrew .tip-section.i18n-he .tip-row label{text-align:right}
body.tag-hebrew .tip-section.i18n-he .tip-row input,body.tag-hebrew .tip-section.i18n-he .tip-row textarea{direction:rtl;text-align:right}
/* Tip form: e-mail + photo intake (2026-10-18) */
.tip-hint{font-size:12px;line-height:1.7;color:var(--mute);margin:8px 0 0}
.tip-row input[type="file"]{padding:10px 12px;background:#fff}
.tip-submit[disabled]{opacity:.55;cursor:wait}

/* ---- member gate (Ghost paywall card + visibility=members) ---- */
.bnn-lock{margin:34px 0 10px;padding:30px 24px 28px;border:1px solid var(--line);border-top:3px solid var(--gold);background:var(--soft);text-align:center;font-family:var(--f-ui)}
.bnn-lock-in{max-width:560px;margin:0 auto}
.bnn-lock-t{margin:0 0 10px;font:700 19px/1.45 var(--f-head);color:var(--ink);letter-spacing:-.01em}
.bnn-lock-s{margin:0 0 20px;font:500 14.5px/1.6 var(--f-ui);color:var(--ink2)}
.bnn-lock-b{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.bnn-lock-btn{display:inline-block;min-width:140px;padding:11px 20px;border:1px solid var(--navy);color:var(--navy);font:700 13px/1.3 var(--f-ui);text-decoration:none;background:transparent;cursor:pointer}
.bnn-lock-primary{background:var(--navy);color:#fff}
.bnn-lock-in[dir="rtl"]{direction:rtl}
@media(max-width:600px){.bnn-lock{padding:24px 16px 22px;margin-top:26px}.bnn-lock-t{font-size:17px}.bnn-lock-b{flex-direction:column;align-items:stretch}.bnn-lock-btn{min-width:0;width:100%;box-sizing:border-box}}
