:root { --ink:#10263b; --navy:#071a2b; --cream:#f5f1e8; --paper:#fffdf8; --gold:#c99a43; --sky:#9bd9d8; --muted:#657482; --line:#d9d3c7; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
button,input { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }

.site-header { height:78px; padding:0 clamp(20px,5vw,76px); display:flex; align-items:center; justify-content:space-between; background:var(--navy); color:white; border-bottom:1px solid #ffffff18; }
.brand { display:flex; align-items:center; gap:12px; color:inherit; text-decoration:none; }
.brand-mark { width:40px; height:40px; display:grid; place-items:center; color:var(--gold); border:1px solid #ffffff28; border-radius:50%; }
.brand span:last-child { display:flex; flex-direction:column; gap:2px; }
.brand strong { font-family:Georgia,'Times New Roman',serif; font-size:17px; letter-spacing:.02em; }
.brand small { color:#a9b7c2; font-size:10px; letter-spacing:.18em; text-transform:uppercase; }
.signal { color:#b7c4ce; font-family:Georgia,'Times New Roman',serif; font-size:14px; font-style:italic; }

.search-stage { position:relative; overflow:hidden; min-height:590px; padding:78px 24px 70px; display:flex; align-items:center; flex-direction:column; background:var(--navy); color:white; text-align:center; }
.search-stage::before { content:""; position:absolute; inset:0; opacity:.22; background-image:linear-gradient(#ffffff0b 1px,transparent 1px),linear-gradient(90deg,#ffffff0b 1px,transparent 1px); background-size:54px 54px; mask-image:linear-gradient(to bottom,black,transparent 88%); }
.eyebrow { position:relative; display:flex; align-items:center; gap:8px; color:var(--sky); font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
h1 { position:relative; max-width:850px; margin:19px 0 16px; font-family:Georgia,'Times New Roman',serif; font-size:clamp(44px,6.5vw,78px); font-weight:400; line-height:.99; letter-spacing:-.045em; }
.intro { position:relative; max-width:650px; margin:0 auto 34px; color:#becbd5; font-size:17px; line-height:1.65; }
.search-box { position:relative; width:min(850px,100%); min-height:70px; display:flex; align-items:center; gap:15px; padding:9px 10px 9px 22px; background:var(--paper); color:var(--ink); border:1px solid #ffffff55; border-radius:6px; box-shadow:0 22px 60px #00000055; text-align:left; }
.search-box svg { color:var(--gold); flex:0 0 auto; }
.search-box input { width:100%; min-width:0; border:0; outline:0; background:transparent; color:var(--ink); font-size:16px; }
.search-box input::placeholder { color:#84909a; }
.search-box>button { min-height:50px; padding:0 22px; border:0; border-radius:4px; background:var(--ink); color:white; font-size:14px; font-weight:800; cursor:pointer; }
.search-box>button:hover { background:#173b58; }
.search-box>button:disabled { cursor:not-allowed; opacity:.45; }
.suggestions { position:relative; width:min(850px,100%); margin-top:17px; display:flex; justify-content:center; flex-wrap:wrap; gap:8px; }
.suggestions button { padding:8px 12px; border:1px solid #ffffff24; border-radius:999px; background:#ffffff0a; color:#b8c5cf; font-size:12px; cursor:pointer; }
.suggestions button:hover { border-color:#9bd9d870; color:white; }

.signal-map { position:absolute; inset:0; pointer-events:none; opacity:.65; }
.node { position:absolute; width:5px; height:5px; border-radius:50%; background:var(--gold); box-shadow:0 0 18px 3px #c99a4377; }
.n1{left:8%;top:24%}.n2{left:19%;top:67%}.n3{right:12%;top:29%}.n4{right:23%;top:71%}.n5{left:31%;top:15%}.n6{right:35%;top:18%}
.line { position:absolute; height:1px; background:linear-gradient(90deg,transparent,#9bd9d848,transparent); transform-origin:left center; }
.l1{width:25%;left:5%;top:43%;transform:rotate(20deg)}.l2{width:28%;right:4%;top:47%;transform:rotate(-24deg)}.l3{width:38%;left:32%;top:17%;transform:rotate(2deg)}

.results-section { padding:72px clamp(20px,5vw,76px) 90px; max-width:1480px; margin:auto; }
.results-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; padding-bottom:25px; border-bottom:1px solid var(--line); }
.section-label { color:#8a6a2e; font-size:11px; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }
.results-heading h2 { max-width:820px; margin:9px 0 0; font-family:Georgia,'Times New Roman',serif; font-size:clamp(25px,3vw,37px); font-weight:400; line-height:1.2; }
.results-heading>p { margin:0 0 5px; color:var(--muted); font-size:13px; white-space:nowrap; }
.result-grid { margin-top:28px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.result-card { min-height:370px; padding:24px; display:flex; flex-direction:column; background:var(--paper); border:1px solid var(--line); border-top:3px solid var(--ink); transition:transform .2s ease,box-shadow .2s ease; }
.result-card:hover { transform:translateY(-3px); box-shadow:0 16px 38px #10263b14; border-top-color:var(--gold); }
.card-topline { display:flex; justify-content:space-between; align-items:center; color:#a18757; font-size:11px; font-weight:800; letter-spacing:.1em; }
.relevance { padding:5px 8px; background:#9bd9d826; color:#3f7477; border-radius:3px; letter-spacing:.03em; }
.result-card h3 { margin:27px 0 7px; font-family:Georgia,'Times New Roman',serif; font-size:25px; font-weight:400; line-height:1.12; }
.article-title { margin:0; color:#9a7332; font-size:12px; font-weight:800; line-height:1.4; text-transform:uppercase; letter-spacing:.07em; }
.excerpt { margin:20px 0 22px; color:#566573; font-family:Georgia,'Times New Roman',serif; font-size:15px; line-height:1.65; }
.excerpt.expanded { white-space:pre-line; }
.passage-id { margin:-8px 0 16px; color:#89939b; font-size:12px; letter-spacing:.03em; }
.card-actions { margin-top:auto; padding-top:4px; display:flex; align-items:center; justify-content:space-between; gap:14px; border-top:1px solid var(--line); }
.card-actions button,.card-actions a { min-height:44px; display:inline-flex; align-items:center; gap:6px; color:var(--ink); font-size:13px; font-weight:800; text-decoration:none; }
.card-actions button { padding:0; border:0; background:transparent; cursor:pointer; }
.card-actions button:hover,.card-actions a:hover { color:#9a7332; }
.state-card { margin-top:28px; padding:42px; background:var(--paper); border:1px solid var(--line); color:var(--muted); text-align:center; }
.loading { animation:pulse 1.5s ease-in-out infinite; }
@keyframes pulse { 50% { opacity:.55; } }

footer { min-height:120px; padding:30px clamp(20px,5vw,76px); display:flex; align-items:center; justify-content:space-between; gap:20px; background:#0a2032; color:#b8c4cc; }
footer div { display:flex; align-items:center; gap:9px; color:var(--gold); }
footer strong { color:white; font-family:Georgia,'Times New Roman',serif; }
footer p { max-width:480px; margin:0; font-size:12px; text-align:right; }
footer a { color:white; font-weight:700; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

@media (max-width:920px) { .result-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:620px) {
  .site-header{height:70px}.signal{display:none}.search-stage{min-height:625px;padding-top:62px}h1{font-size:47px}.intro{font-size:15px}
  .search-box{min-height:62px;padding:8px 8px 8px 16px}.search-box input{font-size:15px}.search-box>button{min-height:46px;padding:0 15px}
  .suggestions{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding-bottom:6px}.suggestions button{flex:0 0 auto}
  .results-section{padding-top:52px}.results-heading{align-items:flex-start;flex-direction:column}.result-grid{grid-template-columns:1fr}.result-card{min-height:340px}
  footer{align-items:flex-start;flex-direction:column}footer p{text-align:left}
}
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
