*, *::before, *::after { box-sizing: border-box; }
html { overflow-x: hidden; -webkit-text-size-adjust: 100%; }
body {
    margin: 0; line-height: 1.55; font-family: 'Poppins', Georgia, serif;
    background: #f3f0ea; color: #1f2937; overflow-x: hidden; max-width: 100%; width: 100%;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
#adv1, #adv2 { max-width: 100%; box-sizing: border-box; overflow: hidden; }

.shell { max-width: 1260px; margin: 0 auto; padding: 0 18px; width: 100%; }
.site-top, .page-body { max-width: 100%; overflow-x: hidden; }
.item-copy { min-width: 0; }

.site-top {
    background: #1e3a5f; color: #e8eef5; position: sticky; top: 0; z-index: 900;
    box-shadow: 0 2px 12px rgba(15, 23, 42, .15);
}
.top-row {
    display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
    min-height: 64px; padding: 10px 0 6px;
}
.site-name { font-size: 1.15rem; font-weight: 800; letter-spacing: -.02em; flex-shrink: 0; }
.site-name span { color: #f4c76b; }

.lookup-bar {
    margin-left: auto; display: flex; align-items: center; gap: 8px;
    background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18);
    border-radius: 8px; height: 40px; padding: 0 12px; width: 100%; max-width: 300px;
}
.lookup-bar input { border: 0; background: transparent; flex: 1; outline: none; color: #fff; font-size: 14px; }
.lookup-bar input::placeholder { color: rgba(255,255,255,.55); }
.lookup-bar .fa { color: rgba(255,255,255,.7); }

.topic-nav {
    display: flex; gap: 4px; overflow-x: auto; overflow-y: hidden;
    padding: 0 0 12px; max-width: 100%; -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.topic-nav::-webkit-scrollbar { display: none; }
.topic-link {
    flex-shrink: 0; white-space: nowrap; padding: 7px 14px; border-radius: 6px;
    font-size: 13px; font-weight: 600; color: rgba(255,255,255,.75);
}
.topic-link:hover { background: rgba(255,255,255,.08); color: #fff; }
.topic-link.on { background: #f4c76b; color: #1e3a5f; }

.page-body { padding: 24px 0 56px; }

.section-tag {
    font-size: 11px; letter-spacing: .12em; text-transform: uppercase;
    font-weight: 700; color: #1e3a5f; margin: 28px 0 12px;
}
.section-tag:first-child { margin-top: 4px; }
.section-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 12px; }
.section-head h2 { font-size: 1.15rem; margin: 0; }
.section-head a { font-size: 13px; font-weight: 600; color: #b45309; }

.lead-story {
    display: grid; grid-template-columns: 1fr; background: #fff;
    border: 1px solid #ddd6c8; border-radius: 12px; overflow: hidden;
    margin-bottom: 8px;
}
.lead-story .cover { aspect-ratio: 16/8; background: #d9d2c5; }
.lead-story .cover img { width: 100%; height: 100%; object-fit: cover; }
.lead-story .story-body { padding: 20px 22px 24px; }
.lead-story .eyebrow { font-size: 11px; font-weight: 700; text-transform: uppercase; color: #b45309; margin-bottom: 8px; }
.lead-story h3 { font-size: 1.5rem; margin: 0 0 10px; line-height: 1.25; }
.lead-story p { font-size: 14px; color: #4b5563; margin: 0; line-height: 1.55; }

.thumb-track {
    display: flex; gap: 14px; overflow-x: auto; overflow-y: hidden;
    padding-bottom: 8px; max-width: 100%; min-width: 0;
    -webkit-overflow-scrolling: touch; scroll-snap-type: x mandatory;
}
.thumb-item {
    flex: 0 0 128px; scroll-snap-align: start; background: #fff;
    border: 1px solid #ddd6c8; border-radius: 10px; overflow: hidden;
}
.thumb-item .pic { aspect-ratio: 1; background: #d9d2c5; }
.thumb-item .pic img { width: 100%; height: 100%; object-fit: cover; }
.thumb-item .cap { padding: 9px 10px 11px; }
.thumb-item h4 { font-size: 12px; margin: 0 0 4px; line-height: 1.35; font-weight: 600; }
.thumb-item p { font-size: 10px; color: #6b7280; margin: 0; line-height: 1.4;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.compact-list { display: flex; flex-direction: column; gap: 8px; }
.list-row {
    display: grid; grid-template-columns: 36px 88px 1fr; gap: 12px; align-items: start;
    background: #fff; border: 1px solid #ddd6c8; border-radius: 8px; padding: 10px 12px;
}
.list-row:hover { border-color: #1e3a5f; }
.list-row .num { font-size: 1.25rem; font-weight: 800; color: #cbd5e1; line-height: 1; padding-top: 6px; }
.list-row .thumb { width: 88px; height: 58px; border-radius: 6px; overflow: hidden; background: #d9d2c5; }
.list-row .thumb img { width: 100%; height: 100%; object-fit: cover; }
.list-row h3 { font-size: 14px; margin: 0 0 5px; font-weight: 700; }
.list-row .blurb { font-size: 12px; color: #6b7280; margin: 0 0 6px; line-height: 1.45; }
.list-row .meta { font-size: 11px; color: #9ca3af; }
.list-row .meta .fa-star { color: #b45309; margin-right: 3px; }

.pocket-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.pocket-card {
    background: #fff; border: 1px solid #ddd6c8; border-radius: 10px; overflow: hidden;
}
.pocket-card:hover { box-shadow: 0 6px 18px rgba(30,58,95,.08); }
.pocket-card .pic { aspect-ratio: 4/3; background: #d9d2c5; }
.pocket-card .pic img { width: 100%; height: 100%; object-fit: cover; }
.pocket-card .item-copy { padding: 12px 14px 14px; }
.pocket-card h3 { font-size: 14px; margin: 0 0 6px; }
.pocket-card p { font-size: 12px; color: #6b7280; margin: 0 0 8px; line-height: 1.45; }
.pocket-card .tag { font-size: 10px; font-weight: 700; text-transform: uppercase; color: #1e3a5f; }

.split-pair { display: grid; grid-template-columns: 1fr; gap: 20px; }

.page-title { font-size: 1.65rem; margin: 8px 0 6px; }
.page-sub { color: #6b7280; font-size: 14px; margin-bottom: 20px; }

.note-box {
    background: #fff; border: 1px solid #ddd6c8; border-radius: 12px;
    padding: 26px; margin: 16px 0;
}
.note-box h3 { margin: 0 0 10px; }
.note-box p { color: #4b5563; line-height: 1.65; font-size: 15px; }

.site-foot {
    background: #1e3a5f; color: #b8c9dc; padding: 38px 0 28px; margin-top: 24px;
}
.site-foot h2 { color: #fff; font-size: 1.05rem; margin-bottom: 10px; }
.site-foot p { font-size: 13px; line-height: 1.6; max-width: 640px; }
.site-foot .legal { margin-top: 18px; }
.site-foot .legal a { color: #f4c76b; margin-right: 16px; font-size: 13px; font-weight: 600; }

#scroll-up {
    position: fixed; bottom: 20px; right: 18px; width: 42px; height: 42px;
    background: #1e3a5f; color: #f4c76b; border: 0; border-radius: 8px;
    display: none; cursor: pointer; z-index: 880; font-size: 15px;
}

.privacy-con {
    background: #fff; border: 1px solid #ddd6c8; border-radius: 12px;
    padding: 26px; min-height: 460px;
}
.privacy-con ul { width: 100% !important; }
.privacy-con h1, .privacy-con h2, .privacy-con h3, .privacy-con div,
.privacy-con ul, .privacy-con ul li, .privacy-con p, .privacy-con span {
    word-wrap: break-word !important; text-wrap: initial !important; margin-left: 0 !important;
}
.privacy-con p { line-height: 1.65; margin: 14px 0; color: #4b5563; }

@media (min-width: 768px) {
    .lead-story { grid-template-columns: 1.15fr 1fr; }
    .lead-story .cover { aspect-ratio: auto; min-height: 240px; }
    .pocket-grid { grid-template-columns: repeat(3, 1fr); }
    .split-pair { grid-template-columns: 1fr 1fr; }
}

@media (min-width: 1024px) {
    .pocket-grid.cols-4 { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 767px) {
    .shell { padding: 0 12px; }
    .top-row { gap: 10px; }
    .lookup-bar { max-width: 100%; width: 100%; margin-left: 0; }
    .list-row { grid-template-columns: 28px 72px 1fr; gap: 8px; padding: 9px; }
    .list-row .thumb { width: 72px; height: 50px; }
    .list-row h3, .list-row .blurb, .lead-story h3, .lead-story p,
    .pocket-card h3, .pocket-card p, .thumb-item h4 {
        overflow-wrap: anywhere; word-break: break-word;
    }
    .section-head { flex-wrap: wrap; gap: 6px; }
}
