@charset "UTF-8";

/* ============================================================
   CONTACT PAGE
   ============================================================ */

.page--contact .contact {
    padding-top: clamp(120px, 13.9vw, 200px);
}

/* language switching */
[data-lang="ja"] .lang-en { display: none; }
[data-lang="en"] .lang-ja { display: none; }

/* Honeypot — ボットには見えるが人間には見えない */
.contact__honeypot {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}


/* ============================================================
   PAGE RESULT — thanks.html / error.html
   ============================================================ */

.page-result {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(120px, 16vw, 200px) var(--container-px) clamp(64px, 8vw, 128px);
    text-align: center;
}

.page-result::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        var(--color-bg)  0%,
        var(--color-bg)  40%,
        #FCD3CD          75%,
        #E9A58A          100%
    );
    pointer-events: none;
    z-index: 0;
}

.page-result__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(40px, 6vw, 64px);
    max-width: 640px;
    width: 100%;
}

/* ── Heading ── */
.page-result__title {
    font-family: var(--font-heading);
    font-size: clamp(56px, 8vw, 112px);
    font-weight: 500;
    color: var(--color-text-main);
    letter-spacing: var(--ls-heading);
    line-height: 1.15;
}

.page-result__title.lang-en {
    font-style: italic;
}

.page-result--error .page-result__title {
    color: var(--color-primary-accent);
}

/* ── Body text ── */
.page-result__text {
    font-family: var(--font-body-ja);
    font-size: clamp(15px, 1.3vw, 20px);
    color: var(--color-text-main);
    line-height: 2;
    letter-spacing: 0.04em;
}
