/* BASE STYLES */
:root {
    --white: #FFFFFF;
    --offwhite: #F6F6F6;
    --black: #0B0B0B;
    --panel: #121212;
    --border: #E6E6E6;
    --border-dark: #2A2A2A;
    --cherry: #B23A3A;
    --cherry-light: #C65A5A;
    --cherry-dark: #7A1F1F;
    --text-primary: #111111;
    --text-secondary: #666666;
}

* { box-sizing: border-box; }

body {
    margin: 0;
    font-family: "IBM Plex Sans", Helvetica, Arial, sans-serif;
    font-weight: 400;
    letter-spacing: -0.01em;
    background: var(--white);
    color: var(--text-primary);
    line-height: 1.65;
}

.container {
    width: 1200px;
    max-width: 92%;
    margin: auto;
}

/* TYPOGRAPHY */
h1 { font-weight: 400; letter-spacing: -0.03em; margin-bottom: 20px; }
h2 { font-size: 32px; font-weight: 400; letter-spacing: -0.02em; margin-bottom: 20px; }
h3 { font-size: 18px; font-weight: 500; margin-bottom: 10px; }
p { font-size: 16px; color: var(--text-secondary); }

/* SECTIONS */
.section { padding: 140px 0; }
.section-alt { background: var(--offwhite); }
.section-dark { background: var(--black); color: white; }
.center { text-align: center; }

/* HERO SYSTEM */
.hero { 
    padding: 180px 0; 
    min-height: 420px;
    color: white;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    display: block;
    width: 100%;
}

.hero-home {
    background-image: linear-gradient(rgba(0,0,0,0.8), rgba(0,0,0,0.8)), 
                url('https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?q=80&w=2070');
}

.hero-credit {
    background-image: linear-gradient(rgba(0,0,0,0.75), rgba(0,0,0,0.75)), 
                url("https://images.unsplash.com/photo-1551288049-bbbda546697c?q=80&w=2070");
}

.hero-advisors {
    background-image: linear-gradient(rgba(0,0,0,0.8), rgba(0,0,0,0.8)), 
                url('https://images.unsplash.com/photo-1551836022-d5d88e9218df?q=80&w=2070');
}

.hero-issuers {
    background-image: linear-gradient(rgba(0,0,0,0.75), rgba(0,0,0,0.75)), 
                url('https://images.unsplash.com/photo-1497366216548-37526070297c?q=80&w=2070');
}

.hero-capabilities {
    background-image: linear-gradient(rgba(0,0,0,0.75), rgba(0,0,0,0.75)), 
                url("https://images.unsplash.com/photo-1454165833767-027ffea9e77b?q=80&w=2070");
}

.hero-about {
    background-image: linear-gradient(rgba(0,0,0,0.8), rgba(0,0,0,0.8)), 
                url('https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?q=80&w=2070');
}

.hero-title { font-size: 64px; max-width: 900px; line-height: 1.1; margin-bottom: 20px; }
.hero-subtitle { font-size: 20px; max-width: 700px; margin-top: 25px; line-height: 1.6; color: #ccc; }
.hero-tag { color: var(--cherry); text-transform: uppercase; letter-spacing: 3px; font-size: 14px; margin-bottom: 20px; display: block; }

/* NAVIGATION */
nav { background: white; border-bottom: 1px solid var(--border); position: sticky; top: 0; z-index: 1000; }
.nav-inner { display: flex; justify-content: space-between; align-items: center; padding: 22px 0; }
.logo { font-weight: 700; text-transform: uppercase; letter-spacing: 1px; font-size: 28px; }
.nav-links a { text-decoration: none; color: var(--text-secondary); margin-left: 32px; font-size: 14px; transition: 0.2s; }
.nav-links a:hover { color: var(--cherry); }

/* BUTTONS */
.btn {
    display: inline-block;
    padding: 14px 26px;
    margin-top: 20px;
    margin-right: 12px;
    border: 1px solid var(--cherry);
    color: var(--cherry);
    text-decoration: none;
    font-size: 14px;
    transition: all 0.25s ease;
}
.btn:hover { background: var(--cherry); color: white; }
.btn-primary { background: var(--cherry); color: white; }
.btn-outline { color: white; border-color: white; }

/* GRIDS */
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.grid-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 30px; }
.grid-4 { display: grid; grid-template-columns: repeat(4,1fr); gap: 30px; }

/* CARDS */
.card { background: white; border: 1px solid var(--border); padding: 35px; transition: 0.25s ease; }
.card:hover { border-color: var(--cherry); }
.card-accent { border-top: 4px solid var(--cherry); }

/* FLOW DIAGRAM */
.flow-container { 
    display: flex; 
    justify-content: space-between; 
    align-items: stretch; 
    margin-top: 60px;
    gap: 15px;
}
.flow-step { 
    text-align: center; 
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 160px;
}
.flow-arrow { 
    display: flex;
    align-items: center;
    font-size: 24px; 
    color: var(--cherry); 
    font-weight: 700;
}

/* FOOTER */
footer { background: var(--black); color: white; padding: 80px 0; }
.footer-logo { color: white; margin-bottom: 15px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; font-size: 24px; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1.5fr; gap: 40px; padding-bottom: 40px; border-bottom: 1px solid #222; }
.footer-links h4 { color: white; font-size: 14px; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 20px; }
.footer-links a { display: block; color: #888; text-decoration: none; font-size: 14px; margin-bottom: 10px; transition: 0.2s; }
.footer-links a:hover { color: var(--cherry); }
.footer-bottom { padding-top: 30px; color: #666; font-size: 13px; text-align: center; }
.footer-legal-disclosure { font-size: 11px; margin-top: 20px; color: #444; text-align: center; max-width: 800px; margin-left: auto; margin-right: auto; }

/* UTILITIES */
.infrastructure-box {
    background-color: var(--black);
    color: white;
    padding: 80px;
    border-radius: 4px;
    background: linear-gradient(rgba(0,0,0,0.7), rgba(0,0,0,0.7)), url('https://images.unsplash.com/photo-1451187580459-43490279c0fa?q=80&w=2072') !important;
    background-size: cover !important;
    background-position: center !important;
}

.contact-note { margin-top: 10px; font-weight: 500; color: var(--text-primary); }
.legal-box { background: var(--offwhite); padding: 50px; border-left: 5px solid var(--cherry); }
.form-box { background: var(--white); padding: 60px; border: 1px solid var(--border); }
.advisor-benefit-box { background: var(--offwhite); padding: 50px; border-top: 5px solid var(--cherry); }
.cap-method-box { background: var(--offwhite); padding: 40px; border-top: 5px solid var(--cherry); }
.cap-integrity-box { background: var(--black); color: white; padding: 60px; text-align: center; }
.hero-buttons { margin-top: 40px; }
.upper-tag { text-transform: uppercase; letter-spacing: 2px; font-size: 13px; }
.credibility-strip { background: var(--offwhite); padding: 40px 0; border-bottom: 1px solid var(--border); }
.credibility-items { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; opacity: 0.7; font-weight: 600; font-size: 12px; text-transform: uppercase; letter-spacing: 1px; }

/* FORMS */
input, textarea, select { 
    width: 100%; 
    padding: 18px; 
    border: 1px solid var(--border); 
    margin-bottom: 20px; 
    font-family: inherit; 
    font-size: 15px;
    background: white;
    color: var(--text-primary);
    border-radius: 0;
    -webkit-appearance: none;
    transition: border-color 0.2s;
}

input:focus, textarea:focus, select:focus { outline: none; border-color: var(--cherry); }
select {
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23666666%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: right 20px top 50%;
    background-size: 12px auto;
    padding-right: 40px;
}

button { 
    background: var(--cherry); 
    color: white; 
    border: none; 
    padding: 20px 30px; 
    font-size: 14px; 
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer; 
    transition: 0.2s; 
    width: 100%;
}
button:hover { background: var(--cherry-dark); }

@media(max-width:900px) {
    .grid-2, .grid-3, .grid-4, .footer-grid { grid-template-columns: 1fr; gap: 30px; }
    .hero-title { font-size: 38px; }
    .flow-container { flex-direction: column; }
    .flow-arrow { transform: rotate(90deg); padding: 20px 0; }
}
