/*!
 * Redress Compliance | Gravity design system
 * Editorial magazine aesthetic | Playfair Display + Outfit
 * Gold #C9A84C accents | Navy #1B2A4A | White background
 *
 * Last reviewed: 2026-04
 */

:root{--bg:#fff;--ink:#0a0a0a;--t1:#333;--t2:#777;--t3:#aaa;--gold:#C9A84C;--navy:#1B2A4A;--bd:#e0e0e0;--serif:'Playfair Display',Georgia,serif;--sans:'Outfit',sans-serif}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--sans);background:var(--bg);color:var(--t1);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none;transition:.3s}img{display:block;max-width:100%}
.c{max-width:1280px;margin:0 auto;padding:0 56px}

/* NAV — ultra minimal */
.nav{position:fixed;top:0;left:0;right:0;z-index:300;padding:0 56px;transition:background .3s}
.nav.s{background:rgba(255,255,255,.97);backdrop-filter:blur(16px)}
.nav-bar{display:flex;align-items:center;justify-content:space-between;height:80px;border-bottom:1px solid transparent}
.nav.s .nav-bar{border-bottom:1px solid var(--bd)}
.logo{font-family:var(--serif);font-size:20px;font-weight:600;color:var(--ink)}.logo em{color:var(--gold);font-style:italic;font-weight:400}
.nav-links{display:flex;gap:28px;align-items:center}
.na{font-size:12px;font-weight:400;color:var(--t2);letter-spacing:.1em;text-transform:uppercase;padding:28px 0;position:relative;cursor:pointer;display:flex;align-items:center;gap:5px}
.na:hover{color:var(--ink)}
.na svg{width:8px;height:8px;opacity:.3}
.nav-btn{font-size:12px;font-weight:500;color:var(--ink);letter-spacing:.1em;text-transform:uppercase;padding:12px 28px;border:1.5px solid var(--ink);transition:.3s;margin-left:12px}
.nav-btn:hover{background:var(--ink);color:#fff}

/* MEGA */
.mega{position:absolute;top:100%;left:50%;transform:translateX(-50%);background:#fff;border:1px solid var(--bd);box-shadow:0 32px 80px rgba(0,0,0,.08);padding:44px 52px;opacity:0;visibility:hidden;transition:.2s;min-width:660px;z-index:100}
.na:hover .mega{opacity:1;visibility:visible}
.mg{display:grid;gap:44px}
.mg h6{font-size:9px;font-weight:500;color:var(--t3);text-transform:uppercase;letter-spacing:.25em;margin-bottom:14px}
.mg a{display:block;font-size:15px;color:var(--t1);padding:7px 0;font-weight:400;letter-spacing:0;text-transform:none;transition:.2s}.mg a:hover{color:var(--gold);padding-left:8px}
.mega-simple{padding:24px 32px;min-width:220px}
.mega-simple a{display:block;font-size:15px;color:var(--t1);padding:9px 0;font-weight:400;letter-spacing:0;text-transform:none;transition:.2s}
.mega-simple a:hover{color:var(--gold);padding-left:8px}

/* ═══ HERO — Cinematic ═══ */
.hero{position:relative;height:100vh;min-height:700px;display:flex;align-items:flex-end;overflow:hidden}
.hero-bg{position:absolute;inset:0}.hero-bg img{width:100%;height:100%;object-fit:cover;filter:brightness(.3)}
.hero-inner{position:relative;z-index:1;width:100%;padding:0 56px 80px;color:#fff}
.hero-label{font-size:11px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-bottom:28px;display:block;font-weight:400}
.hero h1{font-family:var(--serif);font-size:clamp(44px,6vw,82px);font-weight:400;line-height:.98;max-width:900px;margin-bottom:28px}
.hero h1 em{font-style:italic;color:var(--gold)}
.hero-p{font-size:18px;color:rgba(255,255,255,.55);max-width:580px;line-height:1.85;font-weight:300;margin-bottom:40px}
.hero-row{display:flex;align-items:center;gap:48px}
.hero-cta{font-size:12px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;padding:18px 40px;border:1.5px solid rgba(255,255,255,.25);color:#fff;transition:.3s;display:inline-block}.hero-cta:hover{background:var(--gold);border-color:var(--gold)}
.hero-cta-fill{background:var(--gold);border-color:var(--gold)}.hero-cta-fill:hover{background:#B8952E;border-color:#B8952E}
.hero-stat{color:rgba(255,255,255,.3);font-size:11px;letter-spacing:.15em;text-transform:uppercase}.hero-stat strong{display:block;font-family:var(--serif);font-size:28px;font-weight:500;color:#fff;letter-spacing:-.01em;margin-bottom:2px}

/* ═══ CRED LINE ═══ */
.cred{padding:18px 0;border-bottom:1px solid var(--bd)}
.cred-row{display:flex;justify-content:center;gap:40px}
.cred-i{font-size:12px;color:var(--t3);font-weight:400}

/* ═══ VENDOR PRACTICES — text-only, gold underline on hover ═══ */
.vnd{padding:100px 0;border-bottom:1px solid var(--bd)}
.vnd-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:56px}
.ey{font-size:10px;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);display:block;font-weight:500;margin-bottom:10px}
.h2{font-family:var(--serif);font-size:clamp(28px,3.5vw,46px);font-weight:400;color:var(--ink);line-height:1.04}.h2 em{font-style:italic;color:var(--gold)}
.vnd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.vnd-item{padding:28px 0;border-top:1px solid var(--bd);cursor:pointer;transition:.25s;display:block;text-decoration:none;color:var(--t1)}.vnd-item:hover{padding-left:12px}
.vnd-item:hover .vnd-n{color:var(--gold)}
.vnd-n{font-family:var(--serif);font-size:22px;font-weight:500;color:var(--ink);margin-bottom:3px;transition:.2s}
.vnd-d{font-size:13px;color:var(--t3);font-weight:300}
.all-link{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--t2);font-weight:500;border-bottom:1px solid var(--t3);padding-bottom:2px;transition:.2s}.all-link:hover{color:var(--gold);border-color:var(--gold)}

/* ═══ SPLIT — massive image + text ═══ */
.split{display:grid;grid-template-columns:1fr 1fr;min-height:640px}
.split-img{overflow:hidden;position:relative}.split-img img{width:100%;height:100%;object-fit:cover;min-height:640px}
.split-body{display:flex;flex-direction:column;justify-content:center;padding:80px 80px}
.split-body .h3{font-family:var(--serif);font-size:clamp(24px,2.8vw,38px);font-weight:400;color:var(--ink);line-height:1.08;margin-bottom:20px}.split-body .h3 em{font-style:italic;color:var(--gold)}
.split-body p{color:var(--t2);font-size:16px;line-height:1.85;font-weight:300;margin-bottom:28px}
.link-a{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--ink);display:inline-flex;align-items:center;gap:8px;padding-bottom:2px;border-bottom:1.5px solid var(--ink)}.link-a:hover{color:var(--gold);border-color:var(--gold)}

/* ═══ CASE STUDIES — overlapping grid ═══ */
.cs-sec{padding:100px 0}
.cs-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:16px;margin-top:56px}
.cs-col{display:flex;flex-direction:column;gap:16px}
.cs{position:relative;overflow:hidden;display:block;color:#fff;text-decoration:none;cursor:pointer}.cs:hover img{transform:scale(1.03)}
.cs img{width:100%;height:100%;object-fit:cover;min-height:300px;transition:transform .6s;filter:brightness(.4)}.cs:hover img{filter:brightness(.5)}
.cs-main img{min-height:620px}
.cs-ov{position:absolute;bottom:0;left:0;right:0;padding:40px;z-index:1}
.cs-badge{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;display:block}
.cs-t{font-family:var(--serif);font-size:24px;font-weight:500;line-height:1.12;margin-bottom:6px}
.cs-main .cs-t{font-size:32px}
.cs-d{font-size:13px;color:rgba(255,255,255,.5);font-weight:300}
.cs-tag{margin-top:14px;display:inline-block;background:rgba(255,255,255,.08);backdrop-filter:blur(4px);padding:6px 16px;font-size:12px;font-weight:500;border:1px solid rgba(255,255,255,.12)}

/* ═══ STATS — large serif numbers ═══ */
.stats{padding:72px 0;background:var(--ink);color:#fff}
.stats-row{display:grid;grid-template-columns:repeat(5,1fr);text-align:center}
.stat-n{font-family:var(--serif);font-size:clamp(32px,4vw,56px);font-weight:400;color:var(--gold)}.stat-l{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-top:4px}

/* ═══ WHITE PAPERS ═══ */
.wp-sec{padding:100px 0;border-bottom:1px solid var(--bd)}
.wp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px}
.wp{overflow:hidden;display:block;text-decoration:none;color:var(--t1);transition:.3s;position:relative}.wp:hover{transform:translateY(-4px)}.wp:hover img{transform:scale(1.04)}
.wp img{width:100%;height:220px;object-fit:cover;transition:transform .5s;filter:brightness(.75)}
.wp-body{padding:20px 0}
.wp-v{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:6px;display:block;font-weight:500}
.wp-t{font-family:var(--serif);font-size:17px;font-weight:500;color:var(--ink);line-height:1.2;margin-bottom:4px}
.wp-pg{font-size:11px;color:var(--t3)}

/* ═══ KNOWLEDGE HUBS — horizontal line items ═══ */
.hubs{padding:80px 0;border-bottom:1px solid var(--bd)}
.hub-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:48px}
.hub{padding:24px 0;border-top:1px solid var(--bd);transition:.2s;display:block;text-decoration:none;color:var(--t1)}.hub:hover{padding-left:8px}.hub:hover .hub-n{color:var(--gold)}
.hub-n{font-family:var(--serif);font-size:18px;font-weight:500;color:var(--ink);transition:.2s}.hub-c{font-size:11px;color:var(--t3);margin-top:2px}

/* ═══ QUOTE — massive pull quote ═══ */
.pullquote{padding:120px 0;text-align:center;border-bottom:1px solid var(--bd)}
.pq-mark{font-family:var(--serif);font-size:64px;color:var(--gold);line-height:1;margin-bottom:24px}
.pq-text{font-family:var(--serif);font-size:clamp(22px,2.5vw,34px);font-weight:400;font-style:italic;color:var(--ink);line-height:1.35;max-width:860px;margin:0 auto 28px}
.pq-who{font-size:14px;font-weight:500;color:var(--ink)}.pq-role{font-size:13px;color:var(--t3);font-weight:300}

/* ═══ BLOG — editorial list ═══ */
.blog{padding:100px 0;border-bottom:1px solid var(--bd)}
.bl-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px}
.bl-item{display:grid;grid-template-columns:140px 1fr 100px;gap:28px;align-items:center;padding:28px 0;border-top:1px solid var(--bd);text-decoration:none;color:var(--t1);transition:.15s}.bl-item:hover{padding-left:8px}
.bl-img{width:140px;height:90px;overflow:hidden}.bl-img img{width:100%;height:100%;object-fit:cover}
.bl-v{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:4px;display:block}
.bl-t{font-family:var(--serif);font-size:19px;color:var(--ink);font-weight:500;line-height:1.15;margin-bottom:3px}
.bl-d{font-size:13px;color:var(--t3);font-weight:300}
.bl-meta{font-size:11px;color:var(--t3);text-align:right}

/* ═══ CTA — full bleed ═══ */
.cta{position:relative;padding:140px 0;text-align:center;color:#fff;overflow:hidden}
.cta-bg{position:absolute;inset:0}.cta-bg img{width:100%;height:100%;object-fit:cover;filter:brightness(.2)}
.cta-in{position:relative;z-index:1}
.cta h2{font-family:var(--serif);font-size:clamp(28px,4vw,52px);font-weight:400;margin-bottom:16px;line-height:1.04}.cta em{font-style:italic;color:var(--gold)}
.cta p{color:rgba(255,255,255,.4);max-width:540px;margin:0 auto 40px;font-size:17px;font-weight:300}
.cta-acts{display:flex;gap:14px;justify-content:center}

/* ═══ NEWSLETTER ═══ */
.nl{padding:64px 0;text-align:center;border-bottom:1px solid var(--bd)}
.nl h3{font-family:var(--serif);font-size:26px;font-weight:400;color:var(--ink);margin-bottom:4px}
.nl p{font-size:14px;color:var(--t3);margin-bottom:20px;font-weight:300}
.nl-f{display:flex;max-width:440px;margin:0 auto;border-bottom:2px solid var(--ink);gap:0}
.nl-i{flex:1;border:none;padding:14px 0;font-family:var(--sans);font-size:15px;outline:none;background:transparent;color:var(--ink)}.nl-i::placeholder{color:var(--t3)}
.nl-btn{background:transparent;border:none;color:var(--ink);font-size:12px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;font-family:var(--sans);font-weight:500}

/* ═══ FOOTER ═══ */
.ft{background:var(--ink);color:rgba(255,255,255,.3);padding:72px 0 28px}
.ft-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:40px;margin-bottom:56px}
.ft-brand{font-family:var(--serif);font-size:22px;color:#fff;margin-bottom:12px;font-weight:400}.ft-brand em{color:var(--gold);font-style:italic}
.ft-d{font-size:13px;line-height:1.8;font-weight:300;margin-bottom:16px}
.ft-cr{font-size:10px;line-height:2;color:rgba(255,255,255,.15)}
.ft-h{font-size:9px;font-weight:500;color:rgba(255,255,255,.12);text-transform:uppercase;letter-spacing:.25em;margin-bottom:14px}
.ft-col a{display:block;font-size:13px;color:rgba(255,255,255,.3);padding:4px 0;font-weight:300;transition:.15s}.ft-col a:hover{color:var(--gold)}
.ft-bot{border-top:1px solid rgba(255,255,255,.05);padding-top:20px;display:flex;justify-content:space-between;font-size:10px;color:rgba(255,255,255,.12)}

.rv{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.rv.on{opacity:1;transform:translateY(0)}
@media(max-width:1024px){.split{grid-template-columns:1fr}.split-img img{min-height:400px}.vnd-grid{grid-template-columns:1fr}.cs-grid{grid-template-columns:1fr}.cs-col{display:none}.cs-col:first-child{display:flex}.wp-grid{grid-template-columns:repeat(2,1fr)}.hub-grid{grid-template-columns:repeat(2,1fr)}.stats-row{grid-template-columns:repeat(3,1fr)}.bl-item{grid-template-columns:1fr}.bl-img,.bl-meta{display:none}.ft-top{grid-template-columns:1fr 1fr}.nav-links,.nav-btn{display:none}.hero h1{font-size:38px}}

/* ═══ Article meta strip — author byline, dates, share buttons ═══ */
.article-meta{padding:28px 0;border-bottom:1px solid var(--bd);background:#fafafa}
.article-meta-row{display:grid;grid-template-columns:1fr auto auto;gap:40px;align-items:center}
@media(max-width:900px){.article-meta-row{grid-template-columns:1fr;gap:18px}}
.author-byline{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink)}
.author-byline:hover .author-name{color:var(--gold)}
.author-img{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0;background:#E8E6E2;border:1px solid var(--bd)}
.author-img img{width:100%;height:100%;object-fit:cover}
.author-info{line-height:1.3}
.author-by{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--t3);font-weight:500;display:block;margin-bottom:2px}
.author-name{font-family:var(--serif);font-size:17px;font-weight:500;color:var(--ink);transition:.2s;display:block;letter-spacing:0}
.author-role{font-size:12px;color:var(--t2);font-weight:300;margin-top:1px;display:block}
.article-dates{display:flex;gap:28px;flex-wrap:wrap}
.date-item{font-size:11px}
.date-label{display:block;letter-spacing:.16em;text-transform:uppercase;color:var(--t3);font-weight:500;margin-bottom:3px;font-size:10px}
.date-val{color:var(--t1);font-weight:400;font-size:13px;font-family:var(--serif)}
.article-share{display:flex;gap:8px;align-items:center}
.share-label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--t3);font-weight:500;margin-right:4px}
.share-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--bd);background:#fff;color:var(--t1);transition:.2s;text-decoration:none}
.share-btn:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.share-btn svg{width:15px;height:15px;fill:currentColor}

/* ═══ Footer address block ═══ */
.ft-addr{margin-top:18px;font-size:12px;color:var(--t3);font-weight:300;line-height:1.65;letter-spacing:.02em}
.ft-addr-h{display:block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:6px}
.ft-addr a{color:var(--t2);transition:.2s}
.ft-addr a:hover{color:var(--gold)}
.ft-addr-line{display:block}
