/* Secondary pages keep the Ricor palette and edge grid without lines over copy. */
.ws-secondary { --ws-secondary-line:#d9d6cc; --ws-secondary-muted:#62625a; background:#fef9ed; color:#111; }
.ws-secondary, .ws-secondary * { box-sizing:border-box; }
.ws-secondary-container { width:calc(100% - 2 * var(--_sizes---spacing--spacing-regular,1.5rem)); max-width:var(--_sizes---container--max-width,83rem); margin:0 auto; border-left:1px dashed var(--ws-secondary-line); border-right:1px dashed var(--ws-secondary-line); }
.ws-secondary-page-header { display:grid; grid-template-columns:minmax(160px,.4fr) minmax(0,1fr); gap:48px; align-items:start; padding:160px 40px 64px; border-bottom:1px dashed var(--ws-secondary-line); }
.ws-secondary-eyebrow { color:#62625a; width:fit-content; margin:0; border-left:2px solid #d7e53d; padding:7px 0 7px 12px; font:400 12px/1.5 'Geist Mono',monospace; text-transform:uppercase; letter-spacing:.02em; }
.ws-secondary-page-header h1 { max-width:1080px; margin:0; color:inherit; font:500 clamp(44px,5vw,76px)/1.06 Archivo,Arial,sans-serif; letter-spacing:-.05em; text-wrap:balance; }
.ws-secondary-lead { max-width:700px; margin:26px 0 0; color:var(--ws-secondary-muted); font-size:18px; line-height:1.65; }
.ws-secondary-button { display:inline-flex; align-items:center; justify-content:space-between; gap:36px; min-height:60px; padding:18px 24px; background:#e5f34b; color:#111; border:1px solid transparent; text-decoration:none; font:600 14px/1.4 Archivo,Arial,sans-serif; text-transform:uppercase; }
.ws-secondary-button > span { font-size:24px; font-weight:400; }
.ws-secondary-button:hover { background:#111; color:#fef9ed; }
.ws-secondary-back { display:inline-flex; align-items:center; gap:12px; color:#55554e; font:400 13px/1.5 'Geist Mono',monospace; text-decoration:none; text-transform:uppercase; }
.ws-secondary-back:hover { color:#111; text-decoration:underline; text-underline-offset:5px; }
.ws-secondary-tag { align-self:flex-start; width:fit-content; margin:0; padding:4px 8px; background:#e5f34b; color:#111; font:400 11px/1.4 'Geist Mono',monospace; text-transform:uppercase; }
.ws-secondary-photo { display:block; width:100%; max-width:100%; height:auto; }
.ws-journal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; padding:0; }
.ws-journal-card { min-width:0; margin:0; border-bottom:1px dashed var(--ws-secondary-line); border-right:1px dashed var(--ws-secondary-line); }
.ws-journal-card:last-child { border-right:0; }
.ws-journal-card-link { display:flex; flex-direction:column; width:100%; height:100%; color:inherit; text-decoration:none; }
.ws-journal-card-image { width:100%; aspect-ratio:3/2; overflow:hidden; border-bottom:1px solid #d3dd56; }
.ws-journal-card-image .ws-secondary-photo { width:100%; height:100%; object-fit:cover; object-position:center; }
.ws-journal-card-body { display:flex; flex:1; flex-direction:column; align-items:flex-start; gap:20px; padding:28px; }
.ws-journal-card-title { margin:0; color:#111; font:500 clamp(23px,1.95vw,31px)/1.18 Archivo,Arial,sans-serif; letter-spacing:-.035em; }
.ws-journal-card-description { margin:0; color:var(--ws-secondary-muted); font-size:16px; line-height:1.65; }
.ws-journal-read { display:flex; justify-content:space-between; align-items:center; gap:24px; width:100%; margin-top:auto; padding-top:18px; font-size:14px; line-height:1.5; }
.ws-journal-read > span { font-size:24px; }
.ws-journal-card-link:hover .ws-journal-card-title { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; }
.ws-secondary-cta { display:flex; align-items:center; justify-content:space-between; gap:40px; margin:0; padding:64px 40px; }
.ws-secondary-cta-copy { max-width:750px; }
.ws-secondary-cta h2 { margin:22px 0 16px; font:500 clamp(30px,3vw,46px)/1.1 Archivo,Arial,sans-serif; letter-spacing:-.04em; }
.ws-secondary-cta-copy > p:last-child { max-width:650px; margin:0; color:var(--ws-secondary-muted); font-size:17px; line-height:1.65; }
.ws-secondary-cta .ws-secondary-button { flex-shrink:0; }
/* The article title and photo form one balanced header. Body copy stays in one column. */
.ws-article .ws-secondary-container { padding-top:124px; }
.ws-article .ws-secondary-back { margin:0 40px 36px; }
.ws-article-header { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); align-items:center; gap:48px; padding:0 40px 56px; border-bottom:1px dashed var(--ws-secondary-line); }
.ws-article-title-block h1 { margin:24px 0 0; font:500 clamp(38px,4.2vw,66px)/1.06 Archivo,Arial,sans-serif; letter-spacing:-.045em; text-wrap:balance; }
.ws-article-image { border:1px dashed var(--ws-secondary-line); }
.ws-article-image img { aspect-ratio:auto; object-fit:contain; }
.ws-article-layout { display:grid; grid-template-columns:minmax(180px,.38fr) minmax(0,1fr); gap:48px; align-items:start; padding:64px 40px 72px; }
.ws-article-aside { position:sticky; top:32px; align-self:start; padding-right:24px; }
.ws-article-aside ol, .ws-document-aside ol { display:flex; flex-direction:column; gap:14px; margin:24px 0 0; padding:0; list-style:none; }
.ws-article-aside li, .ws-document-aside li { margin:0; padding:0; font-size:14px; line-height:1.5; }
.ws-article-aside a, .ws-document-aside a { color:#66665d; text-decoration:none; }
.ws-article-aside a:hover, .ws-document-aside a:hover { color:#111; text-decoration:underline; text-underline-offset:4px; }
.ws-secondary-aside-link { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:32px; padding:16px 0 0; border-top:1px dashed var(--ws-secondary-line); font-size:14px; line-height:1.5; text-decoration:none; }
.ws-secondary-aside-link > span { font-size:22px; flex-shrink:0; }
.ws-article-copy { max-width:780px; min-width:0; padding-left:0; color:#4f4f48; font:400 18px/1.75 Archivo,Arial,sans-serif; }
.ws-article-copy h2 { margin:0 0 24px; color:#111; font:500 clamp(28px,2.7vw,38px)/1.16 Archivo,Arial,sans-serif; letter-spacing:-.035em; }
.ws-article-copy h3 { margin:38px 0 18px; color:#111; font:500 25px/1.25 Archivo,Arial,sans-serif; letter-spacing:-.025em; }
.ws-article-copy p { margin:0 0 24px; }
.ws-article-copy ul { display:flex; flex-direction:column; gap:12px; margin:28px 0 32px; padding:24px 24px 24px 44px; border:1px dashed #bfc69b; background:#f3f2de; }
.ws-article-copy li { margin:0; padding-left:4px; }
.ws-article-copy blockquote { margin:36px 0; padding:8px 0 8px 24px; border-left:3px solid #d6e33c; color:#111; font:500 24px/1.45 Archivo,Arial,sans-serif; letter-spacing:-.02em; }
.ws-article-copy [id] { scroll-margin-top:40px; }
.ws-article-related { border-top:1px dashed var(--ws-secondary-line); }
.ws-secondary-section-heading { display:grid; grid-template-columns:minmax(160px,.4fr) minmax(0,1fr); gap:48px; padding:48px 40px; }
.ws-secondary-section-heading h2 { margin:0; font:500 clamp(30px,3vw,46px)/1.1 Archivo,Arial,sans-serif; letter-spacing:-.04em; }
.ws-article-related .ws-journal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ws-article-related .ws-journal-card-title { font-size:30px; }
/* Contact uses the existing form contract, with a consistent dark frame. */
.ws-contact-page { --ws-secondary-line:#44443e; --ws-secondary-muted:#bdbbb1; background:#111; color:#fef9ed; }
.ws-contact-page .ws-secondary-eyebrow { color:#c5c3b8; }
.ws-contact-page .section_contact { height:auto; min-height:0; background:#111; }
.ws-contact-page .ws-secondary-page-header { padding-bottom:56px; }
.ws-contact-page-layout { display:grid; grid-template-columns:minmax(240px,.55fr) minmax(0,1fr); align-items:start; gap:0; }
.ws-contact-page-aside { display:flex; flex-direction:column; align-items:flex-start; gap:22px; padding:48px 40px; }
.ws-contact-page-aside h2 { margin:0; color:#fef9ed; font:500 32px/1.1 Archivo,Arial,sans-serif; letter-spacing:-.035em; }
.ws-contact-page-aside > p:not(.ws-secondary-eyebrow) { max-width:300px; margin:0; color:#bdbbb1; font-size:16px; line-height:1.65; }
.ws-contact-phone, .ws-contact-email { color:#fef9ed; line-height:1.3; text-decoration:none; }
.ws-contact-phone { font-size:32px; font-weight:500; letter-spacing:-.03em; }
.ws-contact-email { font-size:20px; }
.ws-contact-phone:hover, .ws-contact-email:hover { color:#e5f34b; }
.ws-contact-page .ws-contact-address { padding-top:12px; font-size:14px; }
.ws-contact-page .ws-secondary-aside-link { width:100%; max-width:300px; margin-top:8px; color:#fef9ed; }
.ws-contact-page-form { min-width:0; border-left:1px dashed var(--ws-secondary-line); padding:48px 40px 64px; }
.ws-contact-page .ws-lead-form { gap:28px 20px; }
.ws-contact-page .ws-field input, .ws-contact-page .ws-field select, .ws-contact-page .ws-field textarea { border-color:#63635a; }
.ws-contact-page .ws-submit { min-height:60px; }
/* Documents retain their wording; borders stay at the edges of text columns. */
.ws-document .ws-secondary-page-header { padding-bottom:56px; }
.ws-document-layout { display:grid; grid-template-columns:minmax(190px,.38fr) minmax(0,1fr); align-items:start; gap:48px; padding:56px 40px 80px; }
.ws-document-aside { position:sticky; top:32px; min-width:0; padding-right:20px; }
.ws-document-copy { min-width:0; max-width:800px; }
.ws-document-copy .policy-contents { display:block; width:100%; margin:0 0 40px; padding:0 0 32px; border-bottom:1px dashed var(--ws-secondary-line); scroll-margin-top:40px; }
.ws-document-copy .policy-contents:last-child { margin-bottom:0; padding-bottom:0; border-bottom:0; }
.ws-document-copy .policy-text { max-width:100%; margin:0 0 20px; padding:0; color:#111; font:500 clamp(25px,2.4vw,33px)/1.2 Archivo,Arial,sans-serif; letter-spacing:-.025em; }
.ws-document-copy .policy-details-wrap { display:flex; flex-direction:column; gap:18px; width:100%; padding:0; }
.ws-document-copy .policy-desp { width:100%; max-width:none; margin:0; padding:0; color:#55554e; font:400 17px/1.75 Archivo,Arial,sans-serif; }
.ws-document-copy a { color:#111; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
@media(max-width:1100px) {
 .ws-secondary-page-header { grid-template-columns:minmax(150px,.35fr) minmax(0,1fr); gap:32px; padding-left:28px; padding-right:28px; }
 .ws-journal-card-body { padding:24px; }
 .ws-secondary-cta { padding-left:28px; padding-right:28px; }
 .ws-article-header { padding-left:28px; padding-right:28px; gap:32px; }
 .ws-article .ws-secondary-back { margin-left:28px; margin-right:28px; }
 .ws-article-layout, .ws-document-layout { gap:32px; padding-left:28px; padding-right:28px; }
 .ws-contact-page-form, .ws-contact-page-aside { padding-left:28px; padding-right:28px; }
 .ws-contact-page-layout { grid-template-columns:minmax(210px,.5fr) minmax(0,1fr); }
 .ws-contact-phone { font-size:28px; }
 .ws-contact-email { font-size:17px; }
}
@media(max-width:991px) {
 .ws-secondary-container { width:calc(100% - 2 * var(--_sizes---spacing--spacing-medium,1.25rem)); }
 .ws-secondary-page-header { padding-top:132px; }
 .ws-journal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ws-journal-card:nth-child(2) { border-right:0; }
 .ws-journal-card:last-child { border-right:1px dashed var(--ws-secondary-line); }
 .ws-journal-card-title { font-size:26px; }
 .ws-secondary-cta { align-items:flex-start; flex-direction:column; gap:28px; }
 .ws-article .ws-secondary-container { padding-top:112px; }
 .ws-article-header { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; }
 .ws-article-title-block h1 { font-size:38px; }
 .ws-article-layout { grid-template-columns:minmax(160px,.35fr) minmax(0,1fr); gap:26px; }
 .ws-article-aside { padding-right:0; }
 .ws-article-aside li { font-size:13px; }
 .ws-article-copy { font-size:17px; }
 .ws-article-copy h3 { font-size:23px; }
 .ws-article-related .ws-journal-card-title { font-size:26px; }
 .ws-secondary-section-heading { padding-left:28px; padding-right:28px; }
 .ws-document-layout { grid-template-columns:minmax(160px,.35fr) minmax(0,1fr); gap:26px; }
 .ws-document-aside { padding-right:0; }
 .ws-document-aside li { font-size:13px; }
 .ws-contact-page .ws-lead-form { grid-template-columns:1fr; }
 .ws-contact-page .ws-submit { width:100%; }
}
@media(max-width:767px) {
 .ws-secondary-container { width:calc(100% - 32px); }
 .ws-secondary-page-header { grid-template-columns:minmax(0,1fr); gap:24px; padding:112px 20px 40px; }
 .ws-secondary-page-header h1 { font-size:clamp(39px,8.5vw,56px); }
 .ws-secondary-lead { margin-top:22px; font-size:17px; line-height:1.65; }
 .ws-journal-grid { grid-template-columns:minmax(0,1fr); }
 .ws-journal-card, .ws-journal-card:last-child { border-right:0; }
 .ws-journal-card-body { gap:18px; padding:26px 20px; }
 .ws-journal-card-title { font-size:28px; }
 .ws-journal-card-description { font-size:16px; }
 .ws-journal-read { padding-top:10px; }
 .ws-secondary-cta { padding:40px 20px; gap:24px; }
 .ws-secondary-cta h2 { margin-top:20px; font-size:34px; }
 .ws-secondary-cta-copy > p:last-child { font-size:16px; }
 .ws-secondary-cta .ws-secondary-button { width:100%; }
 .ws-article .ws-secondary-container { padding-top:100px; }
 .ws-article .ws-secondary-back { margin:0 20px 30px; font-size:11px; }
 .ws-article-header { grid-template-columns:minmax(0,1fr); gap:30px; padding:0 20px 36px; }
 .ws-article-title-block h1 { font-size:clamp(36px,8.1vw,52px); margin-top:20px; }
 .ws-article-layout { grid-template-columns:minmax(0,1fr); padding:40px 20px 48px; gap:0; }
 .ws-article-aside { display:none; }
 .ws-article-copy { max-width:none; font-size:17px; line-height:1.75; }
 .ws-article-copy h2 { font-size:29px; }
 .ws-article-copy h3 { font-size:24px; margin-top:32px; }
 .ws-article-copy blockquote { padding-left:18px; font-size:22px; margin:30px 0; }
 .ws-article-copy ul { padding:20px 20px 20px 36px; }
 .ws-secondary-section-heading { grid-template-columns:minmax(0,1fr); gap:20px; padding:36px 20px; }
 .ws-article-related .ws-journal-grid { grid-template-columns:minmax(0,1fr); }
 .ws-article-related .ws-journal-card-title { font-size:27px; }
 .ws-contact-page .ws-secondary-page-header { padding-bottom:36px; }
 .ws-contact-page-layout { grid-template-columns:minmax(0,1fr); }
 .ws-contact-page-aside { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; padding:32px 20px; }
 .ws-contact-page-aside > p:not(.ws-secondary-eyebrow), .ws-contact-page .ws-contact-address { display:none; }
 .ws-contact-page-aside h2 { font-size:26px; }
 .ws-contact-phone { font-size:30px; }
 .ws-contact-email { font-size:19px; }
 .ws-contact-page .ws-secondary-aside-link { max-width:none; margin-top:8px; padding-top:18px; }
 .ws-contact-page-form { border-left:0; border-top:1px dashed var(--ws-secondary-line); padding:32px 20px 44px; }
 .ws-contact-page .ws-lead-form { gap:24px; }
 .ws-document .ws-secondary-page-header { padding-bottom:36px; }
 .ws-document-layout { display:block; padding:36px 20px 52px; }
 .ws-document-aside { display:none; }
 .ws-document-copy .policy-text { margin-bottom:18px; font-size:27px; }
 .ws-document-copy .policy-desp { font-size:16px; line-height:1.75; }
 .ws-document-copy .policy-contents { margin-bottom:30px; padding-bottom:30px; }
}
@media(max-width:399px) {
 .ws-secondary-page-header, .ws-secondary-cta, .ws-article-layout, .ws-document-layout { padding-left:16px; padding-right:16px; }
 .ws-article-header { padding-left:16px; padding-right:16px; }
 .ws-article .ws-secondary-back { margin-left:16px; margin-right:16px; }
 .ws-journal-card-body, .ws-contact-page-aside, .ws-contact-page-form { padding-left:16px; padding-right:16px; }
 .ws-secondary-page-header h1 { font-size:39px; }
 .ws-contact-email { font-size:18px; }
 .ws-journal-card-title { font-size:26px; }
}
