/* Global button and heading system. Edit here for all pages. */
:root{--fair-navy:#233274;--fair-blue:#3898e8;--fair-heading:Archivo,Arial,sans-serif;--fair-body:Inter,Arial,sans-serif;}
fair-header{display:block;position:relative;z-index:100}fair-footer{display:block}
.fair-button{font-family:var(--fair-body)!important;font-size:14px!important;font-weight:600!important;line-height:1.4!important;padding:12px 22px!important;border-radius:4px!important;display:inline-flex!important;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,box-shadow .2s,transform .2s!important;}
.fair-button:hover,.fair-button:focus-visible{transform:translateY(-2px);box-shadow:0 6px 18px #151f4f30;filter:brightness(1.12);text-decoration:none}
.fair-h1{font-family:var(--fair-heading)!important;font-weight:800!important;font-size:clamp(36px,5vw,70px)!important;line-height:1.12!important}
.fair-h2{font-family:var(--fair-heading)!important;font-weight:700!important;font-size:clamp(28px,3vw,40px)!important;line-height:1.15!important}
.fair-h3{font-family:var(--fair-heading)!important;font-weight:700!important;font-size:22px!important;line-height:1.25!important}
.line-regular{font-family:var(--fair-heading)!important;font-size:clamp(26px,3vw,32px)!important;font-weight:700!important;line-height:1.15!important}
.line-italic{font-family:Baskervville,Georgia,serif!important;font-size:clamp(32px,4vw,44px)!important;font-style:italic!important;font-weight:400!important;line-height:1.12!important}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #3898e8;outline-offset:4px}a:hover{text-decoration:underline;text-underline-offset:4px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}

/* Legal / resource content blocks (added for rules, clauses, submission, forms, privacy, terms, cookies, disclaimer pages) */
.legal-content{padding-bottom:120px;display:flex;flex-direction:column;gap:36px;}
.legal-content h2{font-family:var(--fair-heading)!important;font-weight:700!important;font-size:22px!important;color:var(--fair-navy)!important;margin-bottom:12px!important;}
.legal-content p{font-family:var(--fair-body);font-size:16px;line-height:1.75;color:#4b5563;margin:0 0 14px 0;}
.legal-content p:last-child{margin-bottom:0;}
.legal-content .legal-note{font-size:14px;color:#6b7280;font-style:italic;}
.clause-card{border:1px solid #e5e7eb;border-radius:8px;padding:32px;background:#f5f5f9;}
.clause-card h3{font-family:var(--fair-heading)!important;font-weight:700!important;font-size:19px!important;color:var(--fair-navy)!important;margin-bottom:14px!important;}
.clause-card p{font-family:var(--fair-body);font-size:15px;line-height:1.75;color:#374151;white-space:pre-line;margin:0 0 12px 0;}
.clause-card p:last-child{margin-bottom:0;}
.clause-card .clause-hint{font-size:13px;color:#6b7280;margin-top:14px!important;}
.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;}
.template-card{border:1px solid #e5e7eb;border-radius:8px;padding:24px;}
.template-card h3{font-family:var(--fair-heading)!important;font-weight:700!important;font-size:16px!important;margin-bottom:8px!important;color:var(--fair-navy)!important;}
.template-card .template-meta{font-size:11.5px;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;}
.template-card p{font-family:var(--fair-body);font-size:14px;line-height:1.65;color:#4b5563;margin:0;}
@media(max-width:960px){.legal-content{padding:0 24px 80px;}}

/* Fixed/sticky header offset for in-page anchor links (e.g. #process on arbitration.html) */
[id]{scroll-margin-top:100px;}

/* Neutral directory avatars */
.neutral-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;margin-bottom:12px;display:block;}
div.neutral-avatar{background:var(--fair-navy);display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--fair-heading);font-weight:700;font-size:19px;}

/* Scroll blur-reveal for section-desc paragraphs and headings (words wrapped in spans by shared-layout.js) */
.reveal-word{display:inline-block;opacity:0;filter:blur(12px);transition:opacity .7s ease, filter .7s ease;will-change:opacity,filter;}
.is-revealed .reveal-word{opacity:1;filter:blur(0);}
