*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:Arial,sans-serif;
    background:#eef6ff;
    color:#23395d;
}

/* HERO */
.hero{
    display:flex;
    justify-content:space-between;
    align-items:center;
    min-height:100vh;
    padding:80px;
}

/* LEFT */
.hero-left{
    width:50%;
    display:flex;
    justify-content:center;
}

.heart-container{
    position:relative;
}

.heart{
    width:420px;
}

.heart-container{
    position:relative;
    display:inline-block;
}

.tag{
    position:absolute;
    background:white;
    padding:12px 18px;
    border-radius:999px;
    box-shadow:0 10px 25px rgba(0,0,0,.08);
    font-weight:600;
    white-space:nowrap;
    z-index:2;
}

/* 심장 둘레에 비대칭으로 자연스럽게 흩어진 배치.
   퍼센트 기반이라 .heart 크기가 줄어들어도 같은 비율로 따라 축소됨 */
.pressure{
    top:10%;
    right:-4%;
}

.sugar{
    top:48%;
    left:-8%;
}

.bmi{
    bottom:16%;
    right:0%;
}

.smoking{
    bottom:0%;
    left:18%;
}

/* RIGHT */
.hero-right{
    width:45%;
}

.hero-right h1{
    font-size:75px;
    line-height:1;
    color:#1f2d5a;
}

.hero-right p{
    margin:35px 0;
    font-size:22px;
    line-height:1.7;
    color:#58677e;
}

.hero-right button{
    background:#22346b;
    color:white;
    padding:18px 45px;
    border:none;
    border-radius:40px;
    font-size:20px;
    cursor:pointer;
    transition:.3s;
}

.hero-right button:hover{
    background:#3554b8;
}

/* Cards */
.cards{
    display:flex;
    flex-direction:row;
    gap:30px;
    justify-content:center;
    align-items: stretch;
    padding:80px;
}

.card{
    width:330px;
    background:white;
    padding:35px;
    border-radius:25px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.card h3{
    margin-bottom:15px;
    color:#23395d;
}

.card p{
    color:#66758d;
    line-height:1.7;
}
.language-switch{
    position:absolute;
    top:30px;
    right:40px;
    display:flex;
    gap:12px;
}


.language-switch button{
    background:white;
    color:#23395d;
    padding:12px 22px;
    border:none;
    border-radius:30px;
    font-size:18px;
    font-weight:600;
    cursor:pointer;
    box-shadow:0 8px 20px rgba(0,0,0,0.08);
    transition:.3s;
}


.language-switch button:hover{
    transform:translateY(-3px);
    background:#22346b;
    color:white;
}
.trust-badges{
    display:flex;
    gap:12px 14px;
    flex-wrap:wrap;
    margin:8px 0 28px;
}

.trust-badges span{
    background:white;
    padding:12px 20px;
    border-radius:24px;
    font-size:14px;
    font-weight:600;
    color:#3d4e6e;
    box-shadow:0 4px 10px rgba(0,0,0,.06);
    white-space:nowrap;
}

/* Sneak Peek */
.sneak-peek{
    text-align:center;
    padding:60px 80px 20px;
}

.sneak-peek h2{
    font-size:36px;
    margin-bottom:10px;
    color:#1f2d5a;
}

.sneak-sub{
    color:#66758d;
    margin-bottom:35px;
    font-size:18px;
}

.sneak-card{
    max-width:600px;
    margin:0 auto;
    background:white;
    border-radius:25px;
    padding:40px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    display:flex;
    gap:35px;
    align-items:center;
    text-align:left;
}

.sneak-score{
    flex-shrink:0;
    width:140px;
    height:140px;
    border-radius:50%;
    background:#F57C00;
    color:white;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    font-size:36px;
    font-weight:bold;
    text-align:center;
}

.sneak-score p{
    font-size:13px;
    margin-top:6px;
    font-weight:600;
}

.sneak-list{
    list-style:none;
    font-size:16px;
    line-height:2;
    color:#4a5a78;
}

.sneak-note{
    margin-top:20px;
    font-size:13px;
    color:#9aa5b8;
}

/* Site Footer */
.site-footer{
    background:#22346b;
    color:#c9d3ea;
    padding:50px 80px 30px;
    margin-top:40px;
}

.footer-inner{
    max-width:850px;
    margin:auto;
    text-align:center;
    font-size:14px;
    line-height:1.9;
}

.footer-brand{
    font-size:20px;
    font-weight:bold;
    color:white;
    margin-bottom:12px;
}

.footer-disclaimer{
    margin-top:10px;
    color:#9fb0d6;
}

.footer-copyright{
    margin-top:15px;
    font-size:12px;
    color:#7d8ec9;
}

@media (max-width:700px){
    .sneak-card{
        flex-direction:column;
        text-align:center;
    }
}
/* ===== Mobile ===== */
@media (max-width:900px){
    .hero{
        flex-direction:column;
        padding:60px 30px 40px;
        min-height:auto;
        gap:2px;
        text-align:center;   /* hero-right가 사라져도 정렬 유지되게 */
    }

    .hero-left{
        width:100%;
        order:2;             /* 심장은 두 번째 */
    }

    /* hero-right 박스 자체는 사라지고, 안의 요소들이 .hero의 직속 자식처럼 취급됨 */
    .hero-right{
        display:contents;
    }

    .hero-right h1{
        order:1;              /* 제목이 맨 위 */
    }

    .hero-right > *:not(h1){
        order:3;               /* 문구(intro), 배지, 버튼 등 나머지는 심장 다음 */
    }


    /* 절대위치 태그들을 심장 아래 줄바꿈되는 칩 형태로 전환 */
    .heart-container{
        display:flex;
        flex-direction:column;
        align-items:center;
    }
    .tag{
        position:static;
        margin:4px;
        display:inline-flex;
    }
    .heart{
        width:240px;
    }

    .hero-right h1{
        font-size:40px;
    }
    .hero-right p{
        font-size:18px;
        margin:25px 0;
    }
    .trust-badges{
        justify-content:center;
    }
    .hero-right button{
        width:100%;
        padding:16px 20px;
        font-size:18px;
    }

    .cards{
        flex-direction:column;
        align-items:center;
        padding:50px 25px;
    }
    .card{
        width:100%;
        max-width:400px;
    }

    .sneak-peek{
        padding:40px 25px 10px;
    }
    .sneak-peek h2{
        font-size:28px;
    }
}

@media (max-width:480px){
    .hero-right h1{
        font-size:32px;
    }
    .heart{
        width:190px;
    }
    .language-switch{
        top:16px;
        right:16px;
        gap:8px;
    }
    .language-switch button{
        padding:8px 14px;
        font-size:14px;
    }
    .sneak-score{
        width:110px;
        height:110px;
        font-size:28px;
    }
    .sneak-card{
        padding:25px;
    }
}
.language-switch{
    position:fixed;      /* was: absolute */
    top:30px;
    right:40px;
    display:flex;
    gap:12px;
    z-index:20;           /* 추가 */
}
.info-links {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 30px;
}

.info-link {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 18px 20px;
    background: white;
    border: 1px solid #e5e9f2;
    border-radius: 16px;
    text-decoration: none;
    color: #22346b;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.info-link:hover {
    transform: translateY(-2px);
    box-shadow: 0 7px 20px rgba(0, 0, 0, 0.08);
}

.info-icon {
    font-size: 26px;
    flex-shrink: 0;
}

.info-link h3 {
    margin: 0 0 4px;
    font-size: 17px;
}

.info-link p {
    margin: 0;
    font-size: 13px;
    color: #6b7280;
}

.arrow {
    margin-left: auto;
    font-size: 22px;
    color: #7b89a8;
}