.page-hero {
    position:relative;
    margin-top:var(--header-h-m);
    background:linear-gradient(135deg,#1B5DAA 0%,#14478A 50%,#0E3566 100%);
    padding:48px 0 40px;
    overflow:hidden;
    text-align:center;
}
.page-hero-shapes {
    position:absolute;
    inset:0;
    pointer-events:none;
    overflow:hidden;
}
.ph-shape {
    position:absolute;
    border-radius:50%;
    opacity:.5;
}
.ph-s1 {
    width:250px;
    height:250px;
    border:1px solid rgba(255,255,255,.06);
    top:-60px;
    right:-40px;
}
.ph-s2 {
    width:160px;
    height:160px;
    background:rgba(255,255,255,.03);
    bottom:-30px;
    left:-30px;
}
.page-hero-content { position:relative; z-index:2; }
.page-hero-label {
    font-size:13px;
    color:rgba(255,255,255,.6);
    letter-spacing:.1em;
    margin-bottom:8px;
}
.page-hero-title {
    font-family:var(--font-serif);
    font-size:28px;
    font-weight:700;
    color:#fff;
    margin-bottom:6px;
}
.page-hero-sub { font-size:15px; color:rgba(255,255,255,.75); }
/* ── ACCORDION ── */
.legal-section { padding:48px 0 64px; background:var(--bg-white); }
.legal-intro { text-align:center; margin-bottom:36px; }
.legal-intro-icon {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:64px;
    height:64px;
    border-radius:var(--radius-lg);
    background:var(--primary-light);
    margin-bottom:12px;
}
.legal-intro-icon svg {
    width:32px;
    height:32px;
    display:block;
}
.legal-intro h2 {
    font-family:var(--font-serif);
    font-size:22px;
    font-weight:700;
    color:var(--text-primary);
    margin-bottom:6px;
}
.legal-intro p { font-size:14px; color:var(--text-secondary); }
.accordion {
    max-width:900px;
    margin:0 auto;
    border-top:1px solid var(--border);
}
.accordion-item { border-bottom:1px solid var(--border); }
.accordion-trigger {
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:18px 4px;
    text-align:left;
    font-size:15px;
    font-weight:600;
    color:var(--text-primary);
    background:none;
    cursor:pointer;
    transition:color .2s;
}
.accordion-trigger:hover { color:var(--primary); }
.accordion-trigger svg {
    width:20px;
    height:20px;
    flex-shrink:0;
    color:var(--text-tertiary);
    transition:transform .3s;
}
.accordion-item.open .accordion-trigger svg { transform:rotate(180deg); color:var(--primary); }
.accordion-trigger .acc-icon {
    width:28px;
    height:28px;
    border-radius:6px;
    background:var(--primary-light);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
}
.accordion-trigger .acc-icon svg {
    width:14px;
    height:14px;
    color:var(--primary);
}
.accordion-trigger .acc-label { flex:1; }
.accordion-body {
    max-height:0;
    overflow:hidden;
    transition:max-height .4s ease;
}
.accordion-item.open .accordion-body { max-height:none; }
.accordion-content {
    padding:4px 4px 24px 40px;
    font-size:14px;
    color:var(--text-secondary);
    line-height:2;
}
.accordion-content p { margin-bottom:12px; }
.accordion-content h4 {
    font-size:15px;
    font-weight:600;
    color:var(--text-primary);
    margin:20px 0 8px;
}
.accordion-content h5 {
    font-size:14px;
    font-weight:600;
    color:var(--text-primary);
    margin:16px 0 6px;
}
.accordion-content ul { padding-left:20px; margin-bottom:12px; }
.accordion-content li { margin-bottom:6px; }
.accordion-content blockquote {
    border-left:3px solid var(--primary-light);
    padding:12px 16px;
    margin:12px 0;
    background:var(--primary-lightest);
    border-radius:0 var(--radius-sm) var(--radius-sm) 0;
    font-size:13px;
    color:var(--text-secondary);
}

.page-hero-title { font-size:34px; }
.page-hero { margin-top:var(--header-h-d); padding:56px 0 48px; }
.legal-section { padding:56px 0 72px; }
.accordion-trigger { font-size:16px; padding:20px 4px; }
.page-hero-title { font-size:38px; }