/* global.css */

:root {
    --navy: #073047;
    --navy-light: #0d405b;
    --green: #35b34a;
    --green-light: #74d66b;
    --white: #ffffff;
    --bg: #f4f8fa;
    --text: #132333;
    --muted: #607080;
    --line: #dce7ed;
    --shadow: 0 18px 48px rgba(7, 48, 71, 0.14);
    --radius: 24px;
}

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

body{
    font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    "Noto Sans TC",
    "Microsoft JhengHei",
    Arial,
    sans-serif;

    color:var(--text);
    background:var(--bg);
    line-height:1.7;
}

a{
    color:inherit;
    text-decoration:none;
}

.container{
    width:min(1160px, calc(100% - 40px));
    margin:0 auto;
}

.btn-primary,
.btn-outline{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    padding:13px 22px;
    font-weight:900;
    transition:.2s ease;
}

.btn-primary{
    background:linear-gradient(
        90deg,
        var(--green),
        var(--green-light)
    );

    color:var(--navy);
}

.btn-outline{
    border:1px solid rgba(255,255,255,.32);
    color:var(--white);
    background:rgba(255,255,255,.08);
}

.btn-primary:hover,
.btn-outline:hover{
    transform:translateY(-2px);
}

.hero-buttons{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
}

.kicker{
    color:var(--green);
    font-size:13px;
    letter-spacing:1.8px;
    text-transform:uppercase;
    font-weight:950;
    margin-bottom:8px;
}

h2{
    font-size:clamp(30px, 3.8vw, 48px);
    line-height:1.18;
    color:var(--navy);
    letter-spacing:-0.8px;
    margin-bottom:14px;
}

/* Hero */

.hero{
    background:
    radial-gradient(
        circle at 75% 30%,
        rgba(53,179,74,.22),
        transparent 34%
    ),
    linear-gradient(
        135deg,
        #06283e,
        #0a3b55
    );

    color:var(--white);

    padding:100px 0;

    overflow:hidden;
}

.hero-grid{
    display:grid;

    grid-template-columns:
    1fr 1fr;

    gap:60px;

    align-items:center;
}

.hero-card{
    background:
    rgba(255,255,255,.1);

    border:
    1px solid rgba(255,255,255,.18);

    border-radius:34px;

    padding:32px;

    box-shadow:
    0 30px 80px rgba(0,0,0,.26);
}

.eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;

    background:
    rgba(255,255,255,.1);

    border:
    1px solid rgba(255,255,255,.18);

    border-radius:999px;

    padding:8px 14px;

    color:#baf7c4;

    font-weight:900;
    font-size:14px;

    margin-bottom:24px;
}

.hero h1{
    font-size:
    clamp(42px, 5vw, 68px);

    line-height:1.08;

    letter-spacing:-1.5px;

    margin-bottom:24px;
}

.hero p{
    color:
    rgba(255,255,255,.82);

    font-size:18px;

    max-width:720px;

    margin-bottom:32px;
}

@media (max-width:920px){

    .hero-grid{
        grid-template-columns:1fr;
    }

}

@media (max-width:560px){

    .container{
        width:min(100% - 28px, 1160px);
    }

}