*{
    box-sizing:border-box;
}

html, body{
    margin:0;
    padding:0;
}

body{
    font-family: Arial, Helvetica, sans-serif;
    background:#f3f3f3;
    color:#333;
    line-height:1.6;
}

.container{
    width:min(1100px, 100% - 32px);
    margin:0 auto;
}

header{
    background:#ffffff;
    border-bottom:1px solid #e2e2e2;
}

.header-inner{
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:20px 0 16px;
}

.logo{
    display:block;
    width:100%;
    max-width:720px;
    height:auto;
    margin:0 auto 18px;
}

nav{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:10px 14px;
}

nav a{
    text-decoration:none;
    color:#dc8100;
    font-weight:bold;
    padding:8px 12px;
    border-radius:8px;
    transition:background 0.2s ease, color 0.2s ease;
}

nav a:hover{
    background:#f4f4f4;
    color:#333;
}

main{
    background:#ffffff;
    margin:24px auto 0;
    padding:28px;
    border-radius:12px;
    box-shadow:0 2px 10px rgba(0,0,0,0.06);
}

h1{
    font-size:clamp(28px, 4vw, 42px);
    margin:0 0 18px;
    line-height:1.15;
}

h2{
    font-size:clamp(22px, 3vw, 30px);
    margin:24px 0 12px;
}

p{
    margin:0 0 16px;
}

a{
    color:#6b3db8;
}

a:hover{
    color:#4d2b86;
}

iframe{
    width:100%;
    max-width:100%;
    border:0;
    display:block;
}

footer{
    text-align:center;
    color:#666;
    font-size:14px;
    padding:28px 16px 40px;
}

@media (max-width: 768px){
    .container{
        width:min(100% - 20px, 1100px);
    }

    .header-inner{
        padding:14px 0 12px;
    }

    .logo{
        max-width:100%;
        margin-bottom:14px;
    }

    nav{
        gap:8px;
    }

    nav a{
        padding:8px 10px;
        font-size:15px;
    }

    main{
        margin-top:16px;
        padding:20px 16px;
        border-radius:10px;
    }
}

@media (min-width: 1400px){
    .container{
        width:min(1200px, 100% - 48px);
    }

    .logo{
        max-width:760px;
    }
}