
:root {
  --ink: #171817;
  --ink-soft: #242622;
  --paper: #f5f2eb;
  --paper-deep: #eae5da;
  --gold: #c6a66b;
  --gold-light: #dfc99d;
  --muted: #77776f;
  --line: rgba(23,24,23,.14);
  --serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); line-height: 1.6; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
.container { width: min(1160px, calc(100% - 48px)); margin: 0 auto; }
.eyebrow { text-transform: uppercase; letter-spacing: .19em; font-size: .68rem; font-weight: 700; color: #927849; }
.site-header { position: sticky; top: 0; z-index: 20; background: rgba(245,242,235,.94); backdrop-filter: blur(14px); border-bottom: 1px solid var(--line); }
.nav-wrap { min-height: 82px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; flex-direction:column; line-height:1; gap:5px; }
.brand strong { font-family:var(--serif); font-size:1.45rem; letter-spacing:.16em; font-weight:500; }
.brand span { font-size:.55rem; letter-spacing:.34em; text-transform:uppercase; color:#8a744c; }
.nav-links { display:flex; align-items:center; gap:30px; font-size:.78rem; color:#55564f; }
.nav-links a:hover, .nav-links a.active { color:#947544; }
.nav-cta, .button { display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:13px 20px; border:1px solid var(--ink); background:var(--ink); color:#fff; text-transform:uppercase; letter-spacing:.12em; font-size:.66rem; font-weight:700; transition:.2s ease; cursor:pointer; }
.nav-cta:hover, .button:hover { background:var(--gold); border-color:var(--gold); color:var(--ink); }
.menu-toggle { display:none; border:0; background:none; font-size:1.4rem; color:var(--ink); }
.hero { background:var(--ink); color:var(--paper); min-height:640px; display:flex; align-items:center; position:relative; overflow:hidden; }
.hero:before { content:""; position:absolute; width:620px; height:620px; border:1px solid rgba(198,166,107,.28); border-radius:50%; right:-80px; top:20px; box-shadow:0 0 0 55px rgba(198,166,107,.035),0 0 0 110px rgba(198,166,107,.025); }
.hero:after { content:""; position:absolute; width:420px; height:420px; border:1px solid rgba(198,166,107,.18); border-radius:50%; right:20px; top:120px; }
.hero-content { position:relative; z-index:1; padding:100px 0 110px; max-width:760px; }
.hero .eyebrow { color:var(--gold-light); }
h1,h2,h3 { font-weight:400; line-height:1.08; margin:0; }
h1 { font-family:var(--serif); font-size:clamp(3.4rem,8vw,7.3rem); letter-spacing:-.045em; margin:24px 0; }
h1 em { color:var(--gold-light); font-style:normal; }
.hero-copy { max-width:540px; color:#c8c7bf; font-size:1.03rem; margin:0 0 34px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.button.gold { background:var(--gold); border-color:var(--gold); color:var(--ink); }
.button.gold:hover { background:var(--gold-light); border-color:var(--gold-light); }
.button.outline { background:transparent; border-color:rgba(245,242,235,.5); color:var(--paper); }
.button.outline:hover { background:var(--paper); color:var(--ink); border-color:var(--paper); }
.hero-mark { position:absolute; z-index:1; right:7%; top:50%; transform:translateY(-50%); width:240px; height:240px; border:1px solid rgba(198,166,107,.55); display:grid; place-items:center; color:var(--gold); font-family:var(--serif); font-size:7rem; font-weight:300; }
.section { padding:105px 0; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:46px; }
.section-heading h2, .page-title { font-family:var(--serif); font-size:clamp(2.5rem,5vw,4.5rem); letter-spacing:-.035em; max-width:650px; }
.section-heading p { max-width:380px; color:var(--muted); margin:0; font-size:.92rem; }
.intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
.intro-grid h2 { font-family:var(--serif); font-size:clamp(2.5rem,5vw,4.2rem); letter-spacing:-.04em; }
.intro-text { color:#686960; max-width:510px; font-size:1rem; }
.text-link { display:inline-flex; gap:12px; align-items:center; border-bottom:1px solid var(--gold); padding:0 0 7px; text-transform:uppercase; font-size:.68rem; letter-spacing:.15em; font-weight:700; margin-top:18px; }
.portfolio { background:#ebe7de; }
.company-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.company-card { background:var(--paper); border:1px solid rgba(23,24,23,.1); padding:32px; min-height:330px; display:flex; flex-direction:column; transition:transform .25s ease, box-shadow .25s ease; }
.company-card:hover { transform:translateY(-5px); box-shadow:0 18px 40px rgba(25,25,20,.08); }
.card-top { display:flex; justify-content:space-between; align-items:center; color:#987c4c; }
.card-icon { width:42px; height:42px; border:1px solid #cbb88f; display:grid; place-items:center; font-family:var(--serif); font-size:1.25rem; }
.card-number { font-size:.65rem; letter-spacing:.15em; }
.company-card h3 { font-family:var(--serif); font-size:2rem; margin:32px 0 10px; }
.company-card p { color:var(--muted); font-size:.87rem; margin:0 0 25px; }
.company-card .text-link { margin-top:auto; align-self:flex-start; }
.statement { background:var(--ink); color:var(--paper); padding:95px 0; }
.statement blockquote { margin:0; font-family:var(--serif); font-size:clamp(2rem,4.4vw,3.8rem); line-height:1.18; max-width:900px; letter-spacing:-.025em; }
.statement blockquote span { color:var(--gold-light); }
.statement .eyebrow { margin-bottom:25px; color:var(--gold-light); }
.pillars { display:grid; grid-template-columns:repeat(3,1fr); gap:35px; margin-top:55px; }
.pillar { border-top:1px solid rgba(245,242,235,.2); padding-top:20px; }
.pillar strong { font-family:var(--serif); font-size:1.35rem; font-weight:400; }
.pillar p { color:#aaa99f; font-size:.82rem; margin:8px 0 0; }
.cta-band { background:var(--gold); padding:66px 0; }
.cta-inner { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.cta-inner h2 { font-family:var(--serif); font-size:clamp(2rem,4vw,3.4rem); max-width:650px; }
.cta-band .button { background:var(--ink); border-color:var(--ink); }
.site-footer { background:#111210; color:var(--paper); padding:55px 0 25px; }
.footer-top { display:flex; justify-content:space-between; gap:35px; padding-bottom:45px; }
.footer-brand p { color:#aaa99f; max-width:300px; font-size:.82rem; }
.footer-links { display:flex; gap:60px; }
.footer-links div { display:flex; flex-direction:column; gap:9px; font-size:.8rem; color:#bcbab1; }
.footer-links strong { color:var(--gold-light); text-transform:uppercase; font-size:.65rem; letter-spacing:.15em; margin-bottom:7px; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.14); padding-top:20px; display:flex; justify-content:space-between; color:#85857d; font-size:.7rem; }
.page-hero { background:var(--ink); color:var(--paper); padding:100px 0 95px; }
.page-hero .page-title { margin:18px 0; color:var(--paper); }
.page-hero p { max-width:650px; color:#c0bfb6; }
.content-section { padding:80px 0; }
.content-section h2 { font-family:var(--serif); font-size:2.5rem; margin-bottom:20px; }
.content-section p { color:#66675f; max-width:760px; }
.company-detail { display:grid; grid-template-columns:1.1fr .9fr; gap:70px; align-items:center; }
.detail-panel { background:#ebe7de; padding:45px; min-height:280px; display:flex; flex-direction:column; justify-content:space-between; }
.detail-panel .monogram { font-family:var(--serif); font-size:5rem; color:#b08e53; line-height:1; }
.detail-panel small { letter-spacing:.15em; text-transform:uppercase; color:#77776f; }
.contact-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; }
.contact-form { display:grid; gap:17px; }
.field { display:grid; gap:7px; }
.field label { font-size:.7rem; text-transform:uppercase; letter-spacing:.12em; font-weight:700; }
.field input,.field textarea,.field select { border:1px solid var(--line); background:#fffdf8; padding:14px; outline:none; color:var(--ink); }
.field input:focus,.field textarea:focus,.field select:focus { border-color:var(--gold); }
.field textarea { min-height:140px; resize:vertical; }
.note { font-size:.76rem; color:var(--muted); }
@media(max-width:850px) {
 .hero-mark { opacity:.2; right:-55px; }
 .company-grid { grid-template-columns:1fr 1fr; }
 .intro-grid,.company-detail,.contact-layout { grid-template-columns:1fr; gap:28px; }
 .section-heading { display:block; }
 .section-heading p { margin-top:18px; }
}
@media(max-width:640px) {
 .container { width:min(100% - 34px,1160px); }
 .nav-wrap { min-height:72px; }
 .menu-toggle { display:block; }
 .nav-cta { display:none; }
 .nav-links { display:none; position:absolute; top:72px; left:0; right:0; padding:20px 24px 25px; background:var(--paper); border-bottom:1px solid var(--line); flex-direction:column; align-items:flex-start; gap:18px; }
 .nav-links.open { display:flex; }
 .hero { min-height:590px; }
 .hero-content { padding:90px 0; }
 .hero-mark { width:150px; height:150px; font-size:4.5rem; top:75%; right:-22px; }
 .section { padding:75px 0; }
 .company-grid,.pillars { grid-template-columns:1fr; }
 .company-card { min-height:280px; }
 .cta-inner,.footer-top,.footer-bottom { flex-direction:column; align-items:flex-start; }
 .footer-links { gap:35px; flex-wrap:wrap; }
 .page-hero { padding:75px 0; }
}

/* Rayden logo */
.brand { flex-direction:row; align-items:center; gap:12px; }
.brand .wordmark { display:flex; flex-direction:column; line-height:1; gap:5px; }
.brand-mark { width:46px; height:auto; display:block; }
.site-footer .brand-mark { width:52px; }
.hero-mark { border-color:rgba(198,166,107,.4); }
.hero-mark img { width:78%; height:auto; display:block; }
.nav-links .staff-link { color:#947544; font-weight:600; }
.detail-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:22px; }
.detail-actions .text-link { margin-top:0; }
/* careers */
.jobs { border:1px solid rgba(23,24,23,.12); background:#fffdf8; }
.jobs-head, .job summary { display:grid; grid-template-columns:minmax(0,2.3fr) minmax(0,1fr) minmax(0,1.3fr) minmax(0,.9fr) 22px; gap:20px; align-items:center; padding:0 26px; }
.jobs-head { padding-block:14px; border-bottom:1px solid var(--line); text-transform:uppercase; letter-spacing:.15em; font-size:.62rem; font-weight:700; color:#927849; }
.job { border-bottom:1px solid var(--line); }
.job:last-child { border-bottom:0; }
.job summary { list-style:none; cursor:pointer; padding-block:22px; transition:background .2s ease; }
.job summary::-webkit-details-marker { display:none; }
.job summary:hover, .job[open] summary { background:#f3efe6; }
.job-title { font-family:var(--serif); font-size:1.3rem; line-height:1.25; }
.job-co, .job-loc, .job-type { font-size:.84rem; color:var(--muted); }
.job-co { color:var(--ink); font-weight:600; }
.job-plus { color:var(--gold); font-size:1.3rem; text-align:right; transition:transform .25s ease; }
.job[open] .job-plus { transform:rotate(45deg); }
.job-body { display:grid; grid-template-columns:1fr 1fr; gap:30px; padding:6px 26px 30px; background:#f3efe6; font-size:.9rem; color:#55564f; }
.job-body ul { margin:12px 0 0; padding-left:18px; display:grid; gap:6px; }
.job-action { grid-column:1/-1; }
.job.closed .job-title, .job.closed .job-co, .job.closed .job-loc { opacity:.55; }
.closed-tag { display:inline-block; border:1px solid var(--line); padding:3px 10px; font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; font-weight:700; color:var(--muted); }
.closed-note { margin:0; border-left:2px solid var(--gold); padding:10px 16px; background:var(--paper); color:var(--ink); }
.apply-section { background:#ebe7de; }
.form-status { min-height:1.2em; margin:0; }
.form-status.err { color:#a2412f; } .form-status.ok { color:#3c6e4b; }
@media(max-width:850px) { .jobs-head { display:none; } .job summary { grid-template-columns:minmax(0,1fr) 22px; row-gap:4px; padding-inline:18px; } .job-title,.job-co,.job-loc,.job-type { grid-column:1; } .job-plus { grid-column:2; grid-row:1; } .job-body { grid-template-columns:1fr; padding-inline:18px; } }
@media(max-width:640px) { .nav-links .staff-link { color:#947544; } .brand-mark { width:40px; } }

/* Hero: no rings or logo box, a soft gold light and a fine grid on the right */
.hero:before, .hero:after { content:none; display:none; }
.hero { background:
  radial-gradient(60% 80% at 88% 40%, rgba(198,166,107,.16) 0%, rgba(198,166,107,0) 60%),
  linear-gradient(180deg, #171817 0%, #121311 100%); }
.hero .container { position:relative; }
.hero:before { content:""; display:block; position:absolute; inset:0; background-image:
  linear-gradient(rgba(198,166,107,.06) 1px, transparent 1px),
  linear-gradient(90deg, rgba(198,166,107,.06) 1px, transparent 1px);
  background-size:64px 64px; -webkit-mask-image:linear-gradient(90deg, transparent 35%, #000 85%); mask-image:linear-gradient(90deg, transparent 35%, #000 85%); pointer-events:none; }
.hero-mark { display:none; }

/* Impact numbers */
.impact-band { background:#121311; color:var(--paper); border-top:1px solid rgba(198,166,107,.18); }
.impact-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }
.impact-grid div { padding:34px 24px 32px 0; border-left:1px solid rgba(245,242,235,.12); padding-left:24px; }
.impact-grid div:first-child { border-left:0; padding-left:0; }
.impact-grid b { display:block; font-family:var(--serif); font-size:clamp(2.2rem,4vw,3.2rem); font-weight:400; letter-spacing:-.03em; color:var(--gold-light); line-height:1; font-variant-numeric:tabular-nums; }
.impact-grid span { display:block; margin-top:10px; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:#aaa99f; }
@media(max-width:640px){ .impact-grid div { border-left:0; padding-left:0; border-top:1px solid rgba(245,242,235,.12); padding-block:22px; } .impact-grid div:first-child { border-top:0; } }
/* News */
.news-list { display:grid; gap:0; border-top:1px solid var(--line); }
.news-item { padding:28px 0; border-bottom:1px solid var(--line); display:grid; gap:10px; max-width:860px; }
.news-meta { font-size:.68rem; letter-spacing:.15em; text-transform:uppercase; color:#927849; font-weight:700; }
.news-item h3 { font-family:var(--serif); font-size:clamp(1.5rem,2.6vw,2rem); line-height:1.15; letter-spacing:-.02em; }
.news-item p { margin:0; color:var(--muted); max-width:720px; }
.news-item details summary { cursor:pointer; text-transform:uppercase; font-size:.66rem; letter-spacing:.15em; font-weight:700; margin-top:6px; }
.news-item details p { margin-top:14px; white-space:pre-wrap; color:#55564f; }
.news-cards { grid-template-columns:repeat(3,1fr); gap:18px; border-top:0; }
.news-cards .news-item { background:var(--paper); border:1px solid rgba(23,24,23,.1); padding:28px; }
.news-home { background:#ebe7de; }
@media(max-width:850px){ .news-cards { grid-template-columns:1fr; } }
/* Leadership */
.leaders { display:grid; gap:0; border-top:1px solid var(--line); }
.leader { display:grid; grid-template-columns:200px 1fr; gap:44px; padding:44px 0; border-bottom:1px solid var(--line); align-items:start; }
.leader-photo { aspect-ratio:4/5; background:var(--ink); display:grid; place-items:center; max-width:100%; }
.leader-photo span { font-family:var(--serif); font-size:3.4rem; color:var(--gold); letter-spacing:.04em; }
.leader-photo img { width:100%; height:100%; object-fit:cover; }
.leader h3 { font-family:var(--serif); font-size:2.2rem; letter-spacing:-.03em; }
.leader-role { margin:10px 0 16px; text-transform:uppercase; letter-spacing:.15em; font-size:.68rem; font-weight:700; color:#927849; }
.leader p { color:#66675f; max-width:640px; margin:0; }
.board-note { margin-top:56px; background:#ebe7de; padding:36px; max-width:860px; }
.board-note p { color:#55564f; margin:12px 0 0; }
@media(max-width:640px){ .leader { grid-template-columns:1fr; gap:22px; padding:34px 0; } .leader-photo { width:140px; } }
/* Press */
.press-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:70px; }
.press-grid p { color:#55564f; }
.facts { display:grid; grid-template-columns:150px 1fr; gap:12px 18px; margin:16px 0 0; font-size:.92rem; }
.facts dt { color:#927849; text-transform:uppercase; letter-spacing:.12em; font-size:.66rem; font-weight:700; padding-top:4px; }
.facts dd { margin:0; }
.logo-tiles { display:grid; gap:12px; margin-top:16px; }
.logo-tile { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:20px 24px; border:1px solid var(--line); transition:border-color .2s; }
.logo-tile:hover { border-color:var(--gold); }
.logo-tile img { width:110px; height:auto; }
.logo-tile span { text-transform:uppercase; letter-spacing:.14em; font-size:.64rem; font-weight:700; }
.logo-tile.light { background:var(--paper); } .logo-tile.dark { background:var(--ink); color:var(--paper); }
.logo-tile.check { background:repeating-conic-gradient(#e7e2d7 0 25%, #f5f2eb 0 50%) 0 0/18px 18px; }
.swatches { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:16px; }
.swatches span { background:var(--c); color:#f5f2eb; padding:44px 14px 14px; font-size:.75rem; border:1px solid var(--line); }
.swatches b { display:block; font-weight:700; letter-spacing:.06em; }
@media(max-width:850px){ .press-grid { grid-template-columns:1fr; gap:40px; } }
/* Legal prose */
.prose { max-width:780px; }
.prose h2 { font-size:1.8rem; margin:44px 0 14px; }
.prose p { color:#55564f; max-width:none; }
.nav-links { gap:24px; }
@media(max-width:980px) and (min-width:641px){ .nav-links { gap:16px; font-size:.72rem; } .nav-cta { display:none; } }

.quiet-link { color:inherit; opacity:.75; } .quiet-link:hover { opacity:1; color:var(--gold-light); }
.card-logo { display:grid; place-items:center; width:120px; height:84px; padding:8px; object-fit:contain; }
.card-logo.dark { background:#111210; } .card-logo.light { background:transparent; }
.wf-mark { display:grid; justify-items:center; line-height:1; font-family:var(--serif); }
.wf-mark b { font-weight:500; font-size:1.25rem; letter-spacing:-.01em; color:#c6a66b; background:linear-gradient(180deg,#f3dc9e,#b8913f); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.wf-mark b i { font-style:normal; background:linear-gradient(180deg,#ffffff,#a9adb3); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.wf-mark small { margin-top:6px; font-family:var(--sans); font-size:.42rem; letter-spacing:.28em; text-transform:uppercase; color:#e8e2d6; }
.detail-panel.dark { background:#111210; color:var(--paper); } .detail-panel.dark small { color:#aaa99f; }
.detail-panel { gap:22px; }
.detail-logo { width:min(260px,100%); height:auto; display:block; }
.wf-big { width:auto; padding:10px 0; } .wf-big b { font-size:3rem; } .wf-big small { font-size:.62rem; margin-top:10px; } .wf-big em { display:block; margin-top:14px; font-style:normal; font-size:.6rem; letter-spacing:.24em; text-transform:uppercase; color:#c6a66b; text-align:center; }
.feat { list-style:none; padding:0; margin:22px 0 6px; display:grid; grid-template-columns:1fr 1fr; gap:10px 20px; }
.feat li { padding-left:16px; position:relative; font-size:.9rem; } .feat li:before { content:""; position:absolute; left:0; top:.6em; width:6px; height:6px; background:var(--gold); }
@media(max-width:640px){ .feat { grid-template-columns:1fr; } }
.founders { background:#ebe7de; }
.founder-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:30px; }
.founder-photo { aspect-ratio:4/5; background:var(--ink); display:grid; place-items:center; overflow:hidden; margin-bottom:16px; }
.founder-photo img { width:100%; height:100%; object-fit:cover; } .founder-photo span { font-family:var(--serif); font-size:2.6rem; color:var(--gold); }
.founder h3 { font-family:var(--serif); font-size:1.6rem; } .founder p { color:#66675f; font-size:.9rem; margin:0; }
@media(max-width:850px){ .founder-grid { grid-template-columns:1fr; max-width:360px; } }
.leader-photo { overflow:hidden; } .leader-photo img { width:100%; height:100%; object-fit:cover; }

.group-label { display:flex; align-items:center; gap:16px; margin:0 0 18px; }
.group-label span { text-transform:uppercase; letter-spacing:.19em; font-size:.66rem; font-weight:700; color:#927849; white-space:nowrap; }
.group-label:after { content:""; flex:1; height:1px; background:var(--line); }
.company-grid + .group-label { margin-top:44px; }
.company-grid.two { grid-template-columns:repeat(2,1fr); }
@media(max-width:640px){ .company-grid.two { grid-template-columns:1fr; } }
.txt-mark { font-family:var(--sans); font-weight:700; letter-spacing:.22em; font-size:.62rem; color:var(--gold-light); text-align:center; }
.txt-mark.serif { font-family:var(--serif); font-weight:400; letter-spacing:.02em; font-size:1.05rem; font-style:italic; }
.txt-big { font-family:var(--sans); font-weight:700; letter-spacing:.24em; font-size:2rem; color:var(--gold-light); text-align:center; padding:14px 0; width:auto; }
.txt-big.serif { font-family:var(--serif); font-weight:400; letter-spacing:0; font-style:italic; font-size:2.8rem; }
.txt-big em { display:block; margin-top:12px; font-style:normal; font-family:var(--sans); font-weight:600; font-size:.6rem; letter-spacing:.24em; text-transform:uppercase; color:#aaa99f; }

.legal-wrap { display:grid; grid-template-columns:220px minmax(0,1fr); gap:60px; align-items:start; }
.toc { position:sticky; top:100px; display:grid; gap:8px; font-size:.82rem; }
.toc .eyebrow { margin-bottom:6px; } .toc a { color:#55564f; } .toc a:hover { color:#947544; }
.prose ul { padding-left:20px; color:#55564f; display:grid; gap:8px; margin:0 0 16px; }
.prose h2 { scroll-margin-top:100px; }
@media(max-width:850px){ .legal-wrap { grid-template-columns:1fr; gap:24px; } .toc { position:static; display:flex; flex-wrap:wrap; gap:8px 16px; } .toc .eyebrow { width:100%; } }
.leader-open .leader-photo { background:#ebe7de; border:1px dashed #cbb88f; } .leader-open .leader-photo span { font-size:1.6rem; letter-spacing:.2em; }

/* logos: no boxes */
.card-logo { background:transparent !important; padding:0; width:auto; max-width:150px; height:84px; object-fit:contain; display:block; }
span.card-logo { display:grid; place-items:center; height:84px; }
.card-logo .wf-mark b { background:linear-gradient(180deg,#d6b261,#9a7430); -webkit-background-clip:text; background-clip:text; }
.card-logo .wf-mark b i { background:linear-gradient(180deg,#5b5f66,#24262a); -webkit-background-clip:text; background-clip:text; }
.card-logo .wf-mark small { color:#55564f; }
.detail-panel .wf-big b { background:linear-gradient(180deg,#d6b261,#9a7430); -webkit-background-clip:text; background-clip:text; }
.detail-panel .wf-big b i { background:linear-gradient(180deg,#5b5f66,#24262a); -webkit-background-clip:text; background-clip:text; }
.detail-panel .wf-big small { color:#55564f; }
.detail-logo { max-height:240px; object-fit:contain; }
/* newsroom */
.news-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.news-grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.news-card { position:relative; display:flex; flex-direction:column; gap:12px; padding:28px 26px 24px; background:var(--paper); border:1px solid rgba(23,24,23,.1); color:inherit; transition:transform .2s ease, box-shadow .2s ease, border-color .2s; min-width:0; }
.news-card:before { content:""; position:absolute; left:0; top:0; right:0; height:2px; background:var(--gold); transform:scaleX(.18); transform-origin:left; transition:transform .35s ease; }
.news-card:hover { transform:translateY(-3px); box-shadow:0 16px 36px rgba(25,25,20,.08); border-color:rgba(198,166,107,.5); }
.news-card:hover:before { transform:scaleX(1); }
.news-card h3 { font-family:var(--serif); font-size:1.45rem; line-height:1.18; letter-spacing:-.02em; margin:0; }
.news-card p { margin:0; color:var(--muted); font-size:.9rem; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.news-meta { display:flex; align-items:center; gap:12px; flex-wrap:wrap; font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; font-weight:700; color:#927849; }
.news-co { border:1px solid #cbb88f; padding:4px 9px; color:var(--ink); }
.news-meta time { color:var(--muted); }
.news-more { margin-top:auto; padding-top:8px; font-size:.66rem; letter-spacing:.15em; text-transform:uppercase; font-weight:700; color:var(--ink); }
.news-card.feature { grid-column:1/-1; background:var(--ink); color:var(--paper); border-color:var(--ink); padding:46px 44px; display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:14px 44px; align-items:end; }
.news-card.feature .news-meta, .news-card.feature h3 { grid-column:1; } .news-card.feature p, .news-card.feature .news-more { grid-column:2; }
.news-card.feature h3 { font-size:clamp(1.9rem,3.4vw,2.8rem); grid-row:2/4; }
.news-card.feature p { color:#c8c7bf; -webkit-line-clamp:5; }
.news-card.feature .news-co { color:var(--gold-light); border-color:rgba(198,166,107,.5); } .news-card.feature .news-more { color:var(--gold-light); }
@media(max-width:980px){ .news-grid, .news-grid.three { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px){ .news-grid, .news-grid.three { grid-template-columns:1fr; } .news-card.feature { grid-template-columns:1fr; padding:32px 24px; } .news-card.feature p, .news-card.feature .news-more, .news-card.feature h3 { grid-column:1; grid-row:auto; } }
.news-reader { position:fixed; inset:0; z-index:60; display:grid; place-items:center; padding:24px; }
.news-reader[hidden] { display:none; }
.nr-back { position:absolute; inset:0; background:rgba(17,18,16,.62); backdrop-filter:blur(4px); }
.nr-panel { position:relative; width:min(760px,100%); max-height:calc(100vh - 48px); overflow-y:auto; background:var(--paper); padding:52px 56px 40px; box-shadow:0 30px 80px rgba(0,0,0,.35); animation:nrIn .22s ease; }
@keyframes nrIn { from { opacity:0; transform:translateY(12px); } }
.nr-panel h2 { font-family:var(--serif); font-size:clamp(2rem,4vw,2.9rem); line-height:1.1; letter-spacing:-.03em; margin:18px 0 18px; }
.nr-lead { font-size:1.12rem; color:var(--ink); margin:0 0 22px; padding-bottom:22px; border-bottom:1px solid var(--line); }
.nr-body p { color:#4a4b44; font-size:1rem; line-height:1.75; }
.nr-close { position:absolute; top:16px; right:18px; width:40px; height:40px; border:1px solid var(--line); background:transparent; font-size:1.4rem; cursor:pointer; color:var(--ink); }
.nr-close:hover { border-color:var(--gold); }
.nr-foot { display:flex; justify-content:space-between; gap:20px; margin-top:30px; padding-top:20px; border-top:1px solid var(--line); }
.nr-foot button { background:none; border:0; border-bottom:1px solid var(--gold); cursor:pointer; font:inherit; text-transform:uppercase; font-size:.68rem; letter-spacing:.15em; font-weight:700; padding:0 0 7px; color:var(--ink); }
@media(max-width:640px){ .news-reader { padding:0; } .nr-panel { max-height:100vh; height:100%; padding:64px 22px 30px; } }
@media(prefers-reduced-motion:reduce){ .nr-panel { animation:none; } .news-card, .news-card:before { transition:none; } }

html { background:#111210; }
body { background:var(--paper); }
.detail-actions .button:not(.gold) { background:transparent; color:var(--ink); }
.job-tools { display:grid; gap:14px; margin-bottom:22px; }
.job-tools input { width:100%; max-width:460px; border:1px solid var(--line); background:#fffdf8; padding:14px 16px; font:inherit; outline:none; }
.job-tools input:focus { border-color:var(--gold); }
.job-chips { display:flex; flex-wrap:wrap; gap:8px; }
.job-chips button { border:1px solid var(--line); background:transparent; padding:9px 14px; font:inherit; font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; font-weight:700; cursor:pointer; color:#55564f; }
.job-chips button.on, .job-chips button:hover { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.dept-h { display:flex; justify-content:space-between; align-items:center; padding:14px 26px; background:#f0ece3; border-bottom:1px solid var(--line); }
.dept-h span { font-family:var(--serif); font-size:1.15rem; } .dept-h em { font-style:normal; font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:#927849; font-weight:700; }
.dept + .dept { border-top:1px solid var(--line); }
.job-id { display:block; margin-top:4px; font-family:var(--sans); font-size:.62rem; letter-spacing:.14em; color:var(--muted); font-weight:600; }
.dept[hidden], .job[hidden] { display:none; }
@media(max-width:850px){ .dept-h { padding:12px 18px; } }

.news-img { width:100%; aspect-ratio:3/4; object-fit:cover; display:block; margin:-28px -26px 4px; width:calc(100% + 52px); max-width:none; }
.news-card.has-img { padding-top:28px; }
.news-card.feature.has-img { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 220px; }
.news-card.feature .news-img { grid-column:3; grid-row:1/5; margin:0; width:100%; aspect-ratio:2/3; box-shadow:0 18px 40px rgba(0,0,0,.45); }
.nr-img { width:min(260px,70%); display:block; margin:0 0 22px; box-shadow:0 18px 40px rgba(0,0,0,.18); }
.book-cover { width:min(240px,100%); box-shadow:0 22px 50px rgba(0,0,0,.3); display:block; }
@media(max-width:980px){ .news-card.feature.has-img { grid-template-columns:minmax(0,1fr) 180px; } .news-card.feature.has-img h3, .news-card.feature.has-img .news-meta, .news-card.feature.has-img p, .news-card.feature.has-img .news-more { grid-column:1; grid-row:auto; } .news-card.feature .news-img { grid-column:2; grid-row:1/5; } }
@media(max-width:640px){ .news-card.feature.has-img { grid-template-columns:1fr; } .news-card.feature .news-img { grid-column:1; grid-row:auto; width:60%; } }
.news-card:not(.feature) .news-img { aspect-ratio:auto; height:220px; object-fit:contain; background:#171817; padding:16px 0; }

.brand .wordmark strong { font-size:1.15rem; letter-spacing:.16em; white-space:nowrap; }
.brand .wordmark > span { font-family:var(--serif); font-size:.72rem; letter-spacing:.02em; text-transform:none; font-style:italic; color:#8a744c; white-space:nowrap; }
.site-footer .brand .wordmark > span { color:var(--gold-light); }
@media(max-width:640px){ .brand .wordmark strong { font-size:1rem; letter-spacing:.12em; } .brand .wordmark > span { font-size:.66rem; } }
@media(max-width:380px){ .brand .wordmark > span { display:none; } }
