/*
Theme Name: Radian Parent
Theme URI: https://rmwyllc.com
Author: Radian
Description: A minimalist, editable one-page theme for corporate holding companies. Navy-and-gold design with homepage content managed from the WordPress Customizer and a native logo upload.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: radian-parent
*/

/* ── TOKENS ─────────────────────────────────────── */
:root {
    --navy:       #0B1622;
    --navy-card:  #0F2035;
    --gold:       #B89558;
    --gold-b:     rgba(184,149,88,0.38);
    --gold-bg:    rgba(184,149,88,0.07);
    --text-h:     #E8EDF4;
    --text-b:     #8A9CB0;
    --text-dim:   #4A5E70;
    --divider:    rgba(255,255,255,0.065);
    --max-w:      920px;
    --header-h:   170px;
}

/* ── RESET ──────────────────────────────────────── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
    font-family:'Inter', system-ui, sans-serif;
    background:var(--navy);
    color:var(--text-b);
    line-height:1.75;
    -webkit-font-smoothing:antialiased;
}
a { color:var(--gold); text-decoration:none; }
a:hover { color:#D4B070; text-decoration:underline; }
img { max-width:100%; height:auto; }

/* ── ACCESSIBILITY ──────────────────────────────── */
.screen-reader-text {
    border:0;
    clip:rect(1px,1px,1px,1px);
    clip-path:inset(50%);
    height:1px;
    margin:-1px;
    overflow:hidden;
    padding:0;
    position:absolute;
    width:1px;
    word-wrap:normal !important;
}
.screen-reader-text:focus {
    background:var(--navy);
    color:var(--text-h);
    display:block;
    height:auto;
    width:auto;
    padding:12px 20px;
    z-index:100000;
}
.skip-link {
    position:absolute;
    left:-9999px;
    top:0;
    z-index:999;
    background:var(--navy);
    color:var(--text-h);
    padding:12px 20px;
    font-family:'JetBrains Mono', monospace;
    font-size:12px;
}
.skip-link:focus {
    left:10px;
    top:10px;
}

/* ── LAYOUT ─────────────────────────────────────── */
.container {
    max-width:var(--max-w);
    margin:0 auto;
    padding:0 40px;
}

/* ── HEADER ─────────────────────────────────────── */
.site-header {
    padding:36px 0;
    background:var(--navy);
    border-bottom:1px solid var(--divider);
}
.header-inner {
    max-width:var(--max-w);
    margin:0 auto;
    padding:0 40px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    position:relative;
}
.site-branding { display:flex; flex-direction:column; align-items:center; text-align:center; }
.logo-text {
    font-family:'Playfair Display', Georgia, serif;
    font-size:26px;
    font-weight:600;
    letter-spacing:0.02em;
    color:var(--gold);
}
.logo-text a { color:var(--gold); }
.logo-text a:hover { text-decoration:none; color:#D4B070; }
.logo-sub {
    font-family:'JetBrains Mono', monospace;
    font-size:11px;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:var(--text-dim);
    margin-top:10px;
}
.custom-logo-link { display:inline-block; line-height:0; }
.custom-logo {
    max-height:96px;
    width:auto;
    display:block;
}
.header-email {
    position:absolute;
    right:40px;
    top:50%;
    transform:translateY(-50%);
    font-family:'JetBrains Mono', monospace;
    font-size:11px;
    letter-spacing:0.04em;
    color:var(--text-dim);
}
.header-email a { color:var(--text-dim); }
.header-email a:hover { color:var(--gold); text-decoration:none; }

/* ── HERO ───────────────────────────────────────── */
.hero {
    min-height:calc(100vh - var(--header-h));
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:80px 40px 80px;
    position:relative;
    overflow:hidden;
}
.hero::before {
    content:'';
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(255,255,255,0.022) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.022) 1px, transparent 1px);
    background-size:64px 64px;
    mask-image:radial-gradient(ellipse at 50% 38%, black 15%, transparent 72%);
    -webkit-mask-image:radial-gradient(ellipse at 50% 38%, black 15%, transparent 72%);
}
.hero-inner { position:relative; max-width:880px; }

.hero-ref {
    font-family:'JetBrains Mono', monospace;
    font-size:10px;
    letter-spacing:0.3em;
    text-transform:uppercase;
    color:var(--gold);
    margin-bottom:32px;
    opacity:0;
    animation:fadeUp 0.55s ease 0.1s forwards;
}
.hero-name {
    font-family:'Playfair Display', Georgia, serif;
    font-size:clamp(30px, 5.2vw, 52px);
    font-weight:700;
    color:var(--text-h);
    line-height:1.15;
    letter-spacing:-0.02em;
    margin-bottom:22px;
    opacity:0;
    animation:fadeUp 0.7s ease 0.25s forwards;
}
.hero-rule {
    width:46px;
    height:1px;
    background:var(--gold-b);
    margin:0 auto 26px;
    opacity:0;
    animation:fadeIn 0.5s ease 0.5s forwards;
}
.hero-tagline {
    font-size:clamp(14px, 2vw, 17px);
    font-weight:300;
    color:var(--text-b);
    letter-spacing:0.05em;
    line-height:1.7;
    margin-bottom:52px;
    opacity:0;
    animation:fadeUp 0.7s ease 0.6s forwards;
}
.btn-outline {
    display:inline-flex;
    align-items:center;
    gap:9px;
    font-family:'JetBrains Mono', monospace;
    font-size:11px;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:var(--gold);
    border:1px solid var(--gold-b);
    padding:13px 28px;
    transition:background 0.22s, border-color 0.22s;
    text-decoration:none;
    opacity:0;
    animation:fadeUp 0.6s ease 0.8s forwards;
}
.btn-outline:hover {
    background:var(--gold-bg);
    border-color:var(--gold);
    text-decoration:none;
}
.btn-outline svg { width:13px; height:13px; flex-shrink:0; }

/* ── SECTIONS ───────────────────────────────────── */
.section { padding:88px 0; border-top:1px solid var(--divider); }

.section-label {
    font-family:'JetBrains Mono', monospace;
    font-size:10px;
    letter-spacing:0.28em;
    text-transform:uppercase;
    color:var(--gold);
    margin-bottom:36px;
    display:flex;
    align-items:center;
    gap:12px;
}
.section-label::before {
    content:'§';
    font-size:13px;
    color:var(--text-dim);
    font-style:normal;
}
.section-label::after {
    content:'';
    flex-shrink:0;
    width:34px;
    height:1px;
    background:var(--gold-b);
}
.section-heading {
    font-family:'Playfair Display', Georgia, serif;
    font-size:clamp(24px, 3.8vw, 36px);
    font-weight:600;
    color:var(--text-h);
    line-height:1.22;
    margin-bottom:22px;
    letter-spacing:-0.01em;
}
.body-text {
    font-size:15.5px;
    color:var(--text-b);
    line-height:1.82;
    max-width:660px;
}
.body-text + .body-text { margin-top:14px; }

/* ── SUBSIDIARY CARD ────────────────────────────── */
.subsidiary-list { margin-top:36px; }
.subsidiary-card {
    background:var(--navy-card);
    border:1px solid var(--divider);
    border-left:2px solid var(--gold);
    border-radius:0;
    padding:28px 32px;
}
.sub-badge {
    font-family:'JetBrains Mono', monospace;
    font-size:9.5px;
    letter-spacing:0.22em;
    text-transform:uppercase;
    color:var(--text-dim);
    margin-bottom:10px;
}
.sub-name {
    font-family:'Playfair Display', Georgia, serif;
    font-size:22px;
    font-weight:600;
    color:var(--text-h);
    margin-bottom:12px;
}
.sub-desc { font-size:14.5px; color:var(--text-b); line-height:1.76; }

/* ── COMPLIANCE STATS ───────────────────────────── */
.stat-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
    gap:14px;
    margin-top:40px;
}
.stat-card {
    background:var(--navy-card);
    border:1px solid var(--divider);
    padding:24px 20px;
}
.stat-value {
    font-family:'Playfair Display', Georgia, serif;
    font-size:34px;
    font-weight:700;
    color:var(--gold);
    line-height:1;
    margin-bottom:10px;
    letter-spacing:-0.01em;
}
.stat-desc { font-size:13px; color:var(--text-b); line-height:1.6; }

/* ── CONTACT ────────────────────────────────────── */
.contact-block {
    background:var(--navy-card);
    border:1px solid var(--divider);
    padding:40px 44px;
    max-width:500px;
}
.contact-co {
    font-family:'Playfair Display', Georgia, serif;
    font-size:21px;
    font-weight:600;
    color:var(--text-h);
    margin-bottom:20px;
    padding-bottom:20px;
    border-bottom:1px solid var(--divider);
}
.contact-address {
    font-family:'JetBrains Mono', monospace;
    font-size:13px;
    line-height:2.1;
    color:var(--text-b);
    margin-bottom:24px;
}
.contact-field-label {
    font-family:'JetBrains Mono', monospace;
    font-size:9.5px;
    letter-spacing:0.22em;
    text-transform:uppercase;
    color:var(--text-dim);
    margin-bottom:5px;
}
.contact-field-value { font-size:15px; color:var(--gold); margin-bottom:20px; }
.contact-note {
    padding-top:20px;
    border-top:1px solid var(--divider);
    font-size:12.5px;
    color:var(--text-dim);
    line-height:1.68;
}

/* ── FOOTER ─────────────────────────────────────── */
.site-footer { border-top:1px solid var(--divider); padding:36px 0; }
.footer-inner {
    max-width:var(--max-w);
    margin:0 auto;
    padding:0 40px;
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:20px;
    flex-wrap:wrap;
}
.footer-brand {
    font-family:'JetBrains Mono', monospace;
    font-size:11.5px;
    color:var(--text-dim);
    line-height:1.7;
}
.footer-brand strong {
    display:block;
    color:var(--gold);
    font-size:12.5px;
    letter-spacing:0.12em;
    text-transform:uppercase;
    margin-bottom:4px;
}
.footer-note {
    font-size:11.5px;
    color:var(--text-dim);
    max-width:380px;
    text-align:right;
    line-height:1.65;
}

/* ── GENERIC PAGE FALLBACK (non-front-page content) ─ */
.page-content-wrap { padding:150px 0 100px; }
.page-content-wrap .entry-title {
    font-family:'Playfair Display', Georgia, serif;
    color:var(--text-h);
    font-size:clamp(28px, 4vw, 40px);
    margin-bottom:24px;
}
.page-content-wrap .entry-content { max-width:660px; font-size:15.5px; line-height:1.82; }
.page-content-wrap .entry-content p { margin-bottom:14px; }
.page-content-wrap .entry-content a { text-decoration:underline; }

/* ── SCROLL REVEAL ──────────────────────────────── */
.reveal {
    opacity:0;
    transform:translateY(18px);
    transition:opacity 0.62s ease, transform 0.62s ease;
}
.reveal.in { opacity:1; transform:none; }
.reveal.d1 { transition-delay:0.1s; }
.reveal.d2 { transition-delay:0.2s; }

/* ── ANIMATIONS ─────────────────────────────────── */
@keyframes fadeUp {
    from { opacity:0; transform:translateY(13px); }
    to   { opacity:1; transform:none; }
}
@keyframes fadeIn {
    from { opacity:0; }
    to   { opacity:1; }
}

/* ── RESPONSIVE ─────────────────────────────────── */
@media(max-width:640px) {
    .container { padding:0 20px; }
    .site-header { padding:24px 0; }
    .header-inner { padding:0 20px; }
    .header-email { display:none; }
    .custom-logo { max-height:64px; }
    .logo-text { font-size:20px; }
    .hero { padding:64px 20px 64px; }
    .section { padding:64px 0; }
    .contact-block { padding:28px 20px; }
    .footer-inner { padding:0 20px; flex-direction:column; align-items:flex-start; }
    .footer-note { text-align:left; max-width:100%; }
}
@media(prefers-reduced-motion:reduce) {
    .reveal,.hero-ref,.hero-name,.hero-rule,.hero-tagline,.btn-outline {
        opacity:1; transform:none; animation:none; transition:none;
    }
}
