/* ===== Missing / mismatched rules from full.css -> add into main.css ===== */

:root{
    --font-serif:'Noto Serif JP','Hiragino Mincho ProN',serif;
}

.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);
}

.breadcrumb{
    padding:12px 0;
    font-size:13px;
    color:var(--text-tertiary);
    border-bottom:1px solid var(--border);
    background:var(--bg-white);
}

.breadcrumb a{
    color:var(--text-secondary);
}

.breadcrumb span{
    margin:0 6px;
}

/* ── FEE NAV ── */
.fee-nav{
    background:var(--bg-white);
    border-bottom:1px solid var(--border);
    position:sticky;
    top:var(--header-h-m);
    z-index:99;
    overflow-x:auto;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
}

.fee-nav::-webkit-scrollbar{
    display:none;
}

.fee-nav-inner{
    display:flex;
    max-width:var(--max-w);
    margin:0 auto;
    padding:0 20px;
}

.fee-nav a{
    flex-shrink:0;
    font-size:13px;
    font-weight:500;
    color:var(--text-secondary);
    padding:12px 14px;
    white-space:nowrap;
    border-bottom:3px solid transparent;
    transition:all .2s;
    text-decoration:none;
}

.fee-nav a:hover{
    color:var(--primary);
}

.fee-nav a.active{
    color:var(--primary);
    border-bottom-color:var(--primary);
    font-weight:600;
}

/* ── FEE SECTIONS ── */
.fee-section{
    padding:48px 0 56px;
    scroll-margin-top:140px;
    background:var(--bg-white);
}

.fee-section.alt{
    background:var(--bg-light);
}

.fee-section-header{
    display:flex;
    align-items:center;
    gap:16px;
    margin-bottom:28px;
}

.fee-section-icon{
    width:44px;
    height:44px;
    border-radius:10px;
    background:var(--primary-light);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
}

.fee-section-icon svg{
    width:22px;
    height:22px;
    display:block;
}

.fee-section-title{
    font-family:var(--font-serif);
    font-size:20px;
    font-weight:700;
    color:var(--text-primary);
}

.fee-section-cat{
    font-size:12px;
    font-weight:600;
    color:var(--primary);
    opacity:.7;
    margin-bottom:2px;
}

/* ── FEE TABLES ── */
.fee-table-wrap{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    border-radius:var(--radius-md);
    border:1px solid var(--border);
    margin-bottom:16px;
}

.fee-table{
    width:100%;
    min-width:480px;
    border-collapse:collapse;
    font-size:14px;
}

.fee-table thead{
    background:var(--primary);
}

.fee-table th{
    color:#fff;
    font-weight:600;
    padding:10px 14px;
    text-align:left;
    font-size:13px;
    white-space:nowrap;
}

.fee-table td{
    padding:10px 14px;
    border-bottom:1px solid var(--border);
    color:var(--text-primary);
    vertical-align:top;
}

.fee-table tbody tr:nth-child(even){
    background:var(--primary-lightest);
}

.fee-table tbody tr:hover{
    background:var(--primary-light);
}

.fee-table .range{
    color:var(--text-secondary);
    white-space:nowrap;
}

.fee-table .formula{
    font-feature-settings:'tnum';
    font-size:13px;
}

.fee-notes{
    display:grid;
    gap:4px;
    margin-top:12px;
}

.fee-note{
    font-size:13px;
    color:var(--text-secondary);
    line-height:1.7;
    padding-left:16px;
    position:relative;
}

.fee-note::before{
    content:'※';
    position:absolute;
    left:0;
    color:var(--text-tertiary);
}

/* ── FOREIGN STOCK SIMPLE TABLE ── */
.fee-simple{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    margin-bottom:16px;
}

.fee-simple-card{
    background:var(--bg-white);
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    padding:20px;
    display:flex;
    align-items:center;
    gap:16px;
}

.fee-simple-card .flag{
    font-size:28px;
    flex-shrink:0;
}

.fee-simple-card .info{
    flex:1;
    min-width:0;
}

.fee-simple-card .country{
    font-size:15px;
    font-weight:600;
    color:var(--text-primary);
    margin-bottom:2px;
}

.fee-simple-card .rate{
    font-size:14px;
    color:var(--primary);
    font-weight:600;
}

.fee-simple-card .min{
    font-size:13px;
    color:var(--text-tertiary);
}

/* ===== Mismatched shared rules: use full.css version ===== */

.logo-footer{
    height:28px;
    width:auto;
    filter:brightness(0) invert(1);
}

.footer-section h4{
    font-size:14px;
    font-weight:600;
    color:#fff;
    margin-bottom:12px;
}

@media(min-width:768px){
    .fee-simple{
        grid-template-columns:repeat(2,1fr);
    }

    .fee-section-title{
        font-size:22px;
    }

    .page-hero-title{
        font-size:34px;
    }

    .footer-top{
        grid-template-columns:1.5fr 1fr 1fr 1fr;
        gap:40px;
    }
}

@media(min-width:1024px){
    .page-hero{
        margin-top:var(--header-h-d);
        padding:56px 0 48px;
    }

    .fee-nav{
        top:var(--header-h-d);
    }

    .fee-section{
        padding:56px 0 64px;
    }

    .fee-simple{
        grid-template-columns:repeat(3,1fr);
    }

    .fee-nav a{
        font-size:14px;
        padding:14px 16px;
    }

    .page-hero-title{
        font-size:38px;
    }
}