/*
Theme Name: Oro-Jin
Theme URI: https://oro-jin.com
Author: Oro-Jin LLC
Description: Custom theme for Oro-Jin — Private Bank v2 design (black, champagne gold, ivory).
Version: 1.0.2
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: oro-jin
*/

:root{
  --oj-black:#0B0B0C;
  --oj-panel:#121114;
  --oj-line:#222019;
  --oj-line2:#2C2A24;
  --oj-gold:#C8AE74;
  --oj-ivory:#EDE7DA;
  --oj-white:#F3EEE3;
  --oj-muted:#9E988C;
  --oj-dim:#8C877C;
  --oj-serif:'Bodoni Moda',Georgia,serif;
  --oj-sans:'Manrope',system-ui,-apple-system,sans-serif;
  --oj-mono:'JetBrains Mono',ui-monospace,monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--oj-black);color:var(--oj-ivory);font-family:var(--oj-sans);-webkit-font-smoothing:antialiased}
a{color:var(--oj-gold)}a:hover{color:var(--oj-ivory)}
img{max-width:100%;height:auto}
.oj-wrap{max-width:1280px;margin:0 auto;padding-left:32px;padding-right:32px}
.oj-skip{position:absolute;left:-9999px}.oj-skip:focus{left:16px;top:16px;z-index:100;background:var(--oj-gold);color:var(--oj-black);padding:12px 16px}
:focus-visible{outline:1px solid var(--oj-gold);outline-offset:4px}

/* Motion */
@keyframes ojFade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes ojDraw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes ojTicker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes ojPulse{0%,100%{opacity:1}50%{opacity:.3}}
.oj-reveal{opacity:0;transform:translateY(14px);transition:opacity 1.4s ease,transform 1.4s ease}
.oj-reveal.is-in{opacity:1;transform:none}
.no-js .oj-reveal{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.oj-reveal{opacity:1;transform:none}html{scroll-behavior:auto}}

/* Type helpers */
.oj-eyebrow{margin:0 0 24px;font-size:11px;letter-spacing:.4em;text-transform:uppercase;color:var(--oj-gold)}
.oj-h2{margin:0;font-family:var(--oj-serif);font-weight:400;font-size:clamp(36px,4vw,54px);line-height:1.1;color:var(--oj-white)}
.oj-body{margin:0;font-size:15px;line-height:1.8;color:var(--oj-muted)}
.oj-mono{font-family:var(--oj-mono)}
.oj-btn{border:1px solid var(--oj-gold);color:var(--oj-gold);text-decoration:none;padding:14px 24px;min-height:44px;display:inline-flex;align-items:center;font-size:12px;letter-spacing:.24em;text-transform:uppercase;transition:background .4s,color .4s}
.oj-btn:hover{background:var(--oj-gold);color:var(--oj-black)}

/* Header */
.oj-header{padding-top:30px;padding-bottom:30px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.oj-brand{display:flex;align-items:center;gap:16px;text-decoration:none}
.oj-brand span{font-family:var(--oj-serif);font-size:20px;letter-spacing:.42em;color:var(--oj-ivory)}
.oj-tm{font-family:var(--oj-sans);font-size:9px;letter-spacing:0;vertical-align:super;margin-left:-.3em;color:var(--oj-muted)}
.oj-nav{display:flex;flex-wrap:wrap;align-items:center;gap:34px;font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.oj-nav a.oj-link{color:var(--oj-muted);text-decoration:none;padding:12px 0}
.oj-nav a.oj-link:hover{color:var(--oj-ivory)}
@media (max-width:900px){.oj-nav a.oj-link{display:none}.oj-nav{gap:16px}}

/* Hero */
.oj-hero{padding-top:170px;padding-bottom:150px}
.oj-hero .oj-kicker{margin:0 0 48px;font-size:11px;letter-spacing:.4em;text-transform:uppercase;color:var(--oj-muted);animation:ojFade 1.4s ease both .2s}
.oj-hero h1{margin:0;max-width:1050px;font-family:var(--oj-serif);font-weight:400;font-size:clamp(52px,7.4vw,112px);line-height:.98;letter-spacing:-.025em;color:var(--oj-white);animation:ojFade 1.6s ease both .5s}
.oj-hero h1 em{color:var(--oj-gold)}
.oj-hero .oj-rule{margin-top:72px;height:1px;max-width:420px;background:var(--oj-gold);transform-origin:left;animation:ojDraw 2.2s cubic-bezier(.2,.7,.2,1) both 1.1s}
.oj-hero .oj-lede{margin:40px 0 0;max-width:480px;font-size:17px;line-height:1.75;color:var(--oj-muted);animation:ojFade 1.4s ease both 1.4s}
@media (max-width:700px){.oj-hero{padding-top:90px;padding-bottom:90px}}

/* Ticker */
.oj-ticker{border-top:1px solid var(--oj-line);border-bottom:1px solid var(--oj-line);overflow:hidden;display:flex;align-items:center}
.oj-ticker-label{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:20px 28px;border-right:1px solid var(--oj-line);background:var(--oj-black);position:relative;z-index:1;font-family:var(--oj-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--oj-gold)}
.oj-ticker-label i{width:7px;height:7px;border-radius:50%;background:var(--oj-gold);animation:ojPulse 2s ease-in-out infinite}
.oj-ticker-track{flex:1;overflow:hidden}
.oj-ticker-run{display:flex;width:max-content;animation:ojTicker 60s linear infinite;font-family:var(--oj-mono);font-size:13px;color:var(--oj-muted)}
.oj-ticker-run span.item{padding:20px 36px;border-right:1px solid var(--oj-line);white-space:nowrap}
.oj-ticker-run b{font-weight:400;color:var(--oj-ivory)}
.oj-ticker-run em{font-style:normal;color:var(--oj-gold)}
@media (max-width:600px){.oj-ticker-label{padding:16px}}

/* Sections */
.oj-section{padding-top:160px;padding-bottom:160px}
.oj-panel{background:var(--oj-panel);border-top:1px solid var(--oj-line);border-bottom:1px solid var(--oj-line)}
@media (max-width:700px){.oj-section{padding-top:96px;padding-bottom:96px}}

.oj-services{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:80px 64px}
.oj-services .num{margin:0 0 28px;font-family:var(--oj-serif);font-size:15px;color:var(--oj-gold)}
.oj-services h3{margin:0 0 18px;font-family:var(--oj-serif);font-weight:400;font-size:34px;color:var(--oj-white)}
.oj-services .meta{margin:22px 0 0;font-family:var(--oj-mono);font-size:12px;color:var(--oj-dim)}

.oj-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:88px}
.oj-steps div{border-top:1px solid var(--oj-gold);padding:32px 32px 32px 0}
.oj-steps .k{margin:0 0 18px;font-family:var(--oj-mono);font-size:12px;color:var(--oj-gold)}

.oj-split{display:flex;flex-wrap:wrap;gap:80px;align-items:center}
.oj-split>.a{flex:1 1 340px}
.oj-split>.b{flex:999 1 560px;min-width:0}
.oj-brief{background:var(--oj-ivory);color:var(--oj-black);padding:40px;box-shadow:0 40px 80px rgba(0,0,0,.5)}
.oj-brief .top{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--oj-black)}
.oj-brief .top b{font-family:var(--oj-serif);font-weight:400;font-size:22px;letter-spacing:.3em}
.oj-brief .top span{font-family:var(--oj-mono);font-size:11px;color:#4A463F}
.oj-brief .scroll{overflow-x:auto}
.oj-brief .rows{min-width:520px}
.oj-brief .row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:14px 0;border-bottom:1px solid #C9C1B0;font-size:14px}
.oj-brief .row:last-child{border-bottom:0}
.oj-brief .row.head{font-family:var(--oj-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#4A463F}
.oj-brief .src{font-family:var(--oj-mono);font-size:11px}
@media (max-width:600px){.oj-brief{padding:24px}}

.oj-standards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:48px 40px}
.oj-standards h4{margin:0 0 12px;font-family:var(--oj-serif);font-weight:400;font-size:22px;color:var(--oj-white)}
.oj-standards p{margin:0;font-size:14px;line-height:1.8;color:var(--oj-muted)}

.oj-coverage{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));border-top:1px solid var(--oj-line2)}
.oj-coverage div{padding:36px 24px;border-right:1px solid var(--oj-line2)}
.oj-coverage div:first-child{padding-left:0}
.oj-coverage div:last-child{border-right:0}
.oj-coverage h4{margin:0 0 10px;font-family:var(--oj-serif);font-weight:400;font-size:40px;color:var(--oj-white)}
.oj-coverage p{margin:0;font-family:var(--oj-mono);font-size:12px;color:var(--oj-muted)}
@media (max-width:560px){.oj-coverage div{border-right:0;border-bottom:1px solid var(--oj-line2);padding-left:0}}

.oj-principal{display:flex;flex-wrap:wrap;gap:88px;align-items:center}
.oj-portrait{flex:1 1 300px;max-width:380px;aspect-ratio:3/4;background:#17161A;border:1px solid var(--oj-line2);display:flex;align-items:center;justify-content:center;font-size:11px;letter-spacing:.3em;color:var(--oj-muted);overflow:hidden}
.oj-portrait img{width:100%;height:100%;object-fit:cover;filter:grayscale(.15)}
.oj-principal .txt{flex:999 1 520px;min-width:0}
.oj-principal .quote{margin:0 0 40px;font-family:var(--oj-serif);font-size:clamp(26px,2.8vw,38px);line-height:1.4;color:var(--oj-white)}
.oj-tags{display:flex;flex-wrap:wrap;gap:12px}
.oj-tags span{border:1px solid var(--oj-line2);padding:10px 16px;font-size:12px;letter-spacing:.14em;color:var(--oj-muted)}

.oj-clients{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:32px;padding-top:72px;padding-bottom:72px}
.oj-clients p{margin:0;font-size:11px;letter-spacing:.4em;text-transform:uppercase;color:var(--oj-muted)}
.oj-clients img{max-height:36px;width:auto;opacity:.8}

.oj-cta{padding-top:200px;padding-bottom:200px;text-align:center}
.oj-cta svg{display:block;margin:0 auto 48px}
.oj-cta h2{margin:0;font-family:var(--oj-serif);font-weight:400;font-size:clamp(44px,5.5vw,76px);color:var(--oj-white)}
.oj-cta p{margin:28px auto 0;max-width:440px;font-size:15px;line-height:1.8;color:var(--oj-muted)}
.oj-cta .oj-btn{margin-top:52px;padding:18px 40px}
@media (max-width:700px){.oj-cta{padding-top:120px;padding-bottom:120px}}

/* Footer */
.oj-footer{padding-top:36px;padding-bottom:56px;border-top:1px solid var(--oj-line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;font-size:12px;letter-spacing:.12em;color:var(--oj-muted)}
.oj-footer a{color:var(--oj-muted);text-decoration:none}.oj-footer a:hover{color:var(--oj-ivory)}
.oj-footer-links{display:flex;flex-wrap:wrap;gap:24px;margin:0;padding:0;list-style:none}
.oj-footer-links li{list-style:none;margin:0;padding:0}

/* 404 */
.oj-404{min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 32px}
.oj-404 svg{margin-bottom:56px}
.oj-404 .code{margin:0 0 28px;font-size:11px;letter-spacing:.4em;text-transform:uppercase;color:var(--oj-muted)}
.oj-404 h1{margin:0;max-width:760px;font-family:var(--oj-serif);font-weight:400;font-size:clamp(40px,5vw,68px);line-height:1.08;color:var(--oj-white)}
.oj-404 h1 em{color:var(--oj-gold)}
.oj-404 .msg{margin:28px 0 0;max-width:440px;font-size:16px;line-height:1.8;color:var(--oj-muted)}
.oj-404 .acts{margin-top:52px;display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.oj-404 .acts a.plain{color:var(--oj-muted);text-decoration:none;padding:16px 20px;font-size:12px;letter-spacing:.24em;text-transform:uppercase}

/* Generic pages (privacy, terms, etc.) */
.oj-page{padding-top:120px;padding-bottom:160px;max-width:820px}
.oj-page h1{margin:0 0 48px;font-family:var(--oj-serif);font-weight:400;font-size:clamp(40px,5vw,64px);line-height:1.05;color:var(--oj-white)}
.oj-content{font-size:16px;line-height:1.85;color:var(--oj-ivory)}
.oj-content h2,.oj-content h3{font-family:var(--oj-serif);font-weight:400;color:var(--oj-white)}
.oj-content p,.oj-content li{color:#CFC8B9}
