@charset "utf-8";

.section--news-summary {
    margin-top: 70px;
    padding: 0 4.2%;
}

.news-summary,
.news-list {
    max-width: 900px;
    margin: 24px auto 0;
    border-top: 1px solid #d9d9d9;
}

.news-summary__item,
.news-list__item {
    border-bottom: 1px solid #d9d9d9;
}

.news-summary__link,
.news-list__link {
    display: grid;
    grid-template-columns: 110px 100px 1fr;
    gap: 18px;
    align-items: baseline;
    padding: 18px 6px;
    text-decoration: none;
}

.news-summary__date,
.news-list__date,
.news-article__date {
    font-size: 1.3rem;
    font-weight: 500;
    white-space: nowrap;
}

.news-summary__category,
.news-list__category,
.news-article__category {
    font-size: 1.2rem;
    letter-spacing: 0.08em;
    font-weight: 600;
    white-space: nowrap;
}

.news-summary__title,
.news-list__title {
    font-size: 1.5rem;
    line-height: 1.7;
    font-weight: 600;
}

.news-summary__more {
    margin-top: 24px;
    text-align: center;
}

.news-summary__more a {
    font-size: 1.4rem;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.news-page {
    max-width: 960px;
    margin: 0 auto;
    padding: 60px 4.2% 80px;
}

.news-page__lead {
    margin: 14px auto 0;
    max-width: 720px;
    text-align: center;
    font-size: 1.4rem;
    line-height: 2;
    font-weight: 500;
}

.news-article {
    max-width: 760px;
    margin: 0 auto;
    padding: 70px 4.2% 90px;
}

.news-article__meta {
    display: flex;
    gap: 18px;
    align-items: center;
    margin-bottom: 18px;
}

.news-article__title {
    font-size: 2.6rem;
    line-height: 1.5;
    font-weight: 700;
    margin-bottom: 34px;
}

.news-article__body {
    font-size: 1.5rem;
    line-height: 2;
    font-weight: 500;
}

.news-article__body p {
    margin-bottom: 1.35em;
}

.news-article__body strong {
    font-weight: 700;
}

.news-article__quote {
    margin: 22px 0;
    padding: 16px 20px;
    border-left: 3px solid #333;
}

.news-article__external {
    display: inline-block;
    margin-top: 10px;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.news-article__back {
    margin-top: 46px;
    padding-top: 24px;
    border-top: 1px solid #d9d9d9;
}

.news-article__back a {
    font-size: 1.4rem;
    text-decoration: underline;
    text-underline-offset: 4px;
}

@media screen and (max-width: 768px) {
    .news-summary__link,
    .news-list__link {
        grid-template-columns: auto 1fr;
        gap: 7px 14px;
        padding: 16px 2px;
    }

    .news-summary__title,
    .news-list__title {
        grid-column: 1 / -1;
        font-size: 1.4rem;
    }

    .news-page {
        padding-top: 45px;
    }

    .news-article {
        padding-top: 48px;
    }

    .news-article__title {
        font-size: 2.2rem;
    }
}


/* Match Japanese News typography to the rest of the Japanese site. */
html[lang="ja"] .news-page__lead,
html[lang="ja"] .news-article__body {
    font-weight: 600;
}

/* Media / press contact */
.news-media {
    max-width: 760px;
    margin: 64px auto 0;
    padding: 30px 28px;
    border-top: 1px solid #d9d9d9;
    border-bottom: 1px solid #d9d9d9;
}
.news-media__title {
    font-size: 2rem;
    line-height: 1.5;
    font-weight: 700;
    margin-bottom: 14px;
}
.news-media__text {
    font-size: 1.4rem;
    line-height: 1.9;
}
.news-media__link {
    display: inline-block;
    margin-top: 16px;
    font-size: 1.4rem;
    text-decoration: underline;
    text-underline-offset: 4px;
}
.news-article__media {
    margin-top: 14px;
}
.news-article__media a {
    font-size: 1.4rem;
    text-decoration: underline;
    text-underline-offset: 4px;
}
@media screen and (max-width: 768px) {
    .news-media {
        margin-top: 48px;
        padding: 24px 18px;
    }
}


/* Pot coffee service articles only: leave all other News pages unchanged. */
.news-article--pot {
    max-width: 840px;
    padding: 72px 34px 92px;
}

.news-article--pot .news-article__meta {
    margin-bottom: 18px;
    color: #766d69;
}

.news-article--pot .news-article__title {
    font-size: 3rem;
    line-height: 1.45;
    letter-spacing: 0.015em;
    font-weight: 700;
    margin-bottom: 24px;
    color: #2f2927;
}

.news-article--pot .news-article__body,
html[lang="ja"] .news-article--pot .news-article__body {
    font-size: 1.6rem;
    line-height: 1.85;
    font-weight: 400;
    color: #37302d;
}

.news-article--pot .news-article__body p {
    margin: 0;
}

.pot-article__lead {
    max-width: 700px;
    margin: 0 0 38px !important;
    color: #504845;
}

.pot-article__section {
    margin: 0 0 42px;
}

.pot-article__heading {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.5;
    margin: 0 0 18px;
    color: #3f2929;
}

.pot-article__pricing {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.pot-article__price-card {
    min-width: 0;
    border: 1px solid #e8dfdb;
    background: #fff;
    padding: 22px 24px 20px;
}

.pot-article__price-card--primary {
    border-color: #e7d9d5;
    background: #faf6f3;
}

.pot-article__price-label {
    font-size: 1.45rem;
    font-weight: 600;
    color: #493d39;
}

.pot-article__price-label span {
    color: #6a292e;
}

.pot-article__price-amount {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 10px;
    font-family: Arial, "Helvetica Neue", sans-serif;
    font-size: 3.4rem;
    line-height: 1.45;
    letter-spacing: -0.025em;
    font-weight: 700;
    color: #6a292e;
    font-variant-numeric: tabular-nums;
    margin: 6px 0 4px !important;
}

.pot-article__price-amount small {
    font-family: "MyFont", sans-serif;
    font-size: 1.25rem;
    font-weight: 400;
    letter-spacing: 0;
    color: #685f5b;
}

.pot-article__price-caption {
    font-size: 1.35rem;
    color: #6a625e;
}

.pot-article__examples {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 20px;
    border-bottom: 1px solid #e8e1dc;
    padding: 17px 2px;
    font-size: 1.4rem;
}

.pot-article__examples-label {
    color: #70645f;
    font-size: 1.3rem;
}

.pot-article__examples strong {
    color: #4c292a;
    font-weight: 700;
}

.pot-article__details {
    margin: 0;
    border-top: 1px solid #e8e1dc;
}

.pot-article__detail {
    display: grid;
    grid-template-columns: 148px minmax(0, 1fr);
    gap: 18px;
    border-bottom: 1px solid #e8e1dc;
    padding: 16px 2px 18px;
    line-height: 1.8;
}

.pot-article__detail dt {
    font-size: 1.45rem;
    font-weight: 700;
    color: #4a3332;
}

.pot-article__detail dd {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 400;
}

.pot-article__contact {
    margin-top: 48px;
    margin-bottom: 0;
    border-top: 1px solid #e8e1dc;
    padding-top: 36px;
}

.pot-article__contact > p {
    max-width: 700px;
    font-size: 1.5rem;
}

.pot-article__actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 24px;
}

.pot-article__button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    min-height: 50px;
    padding: 13px 22px;
    text-align: center;
    font-size: 1.45rem;
    font-weight: 700;
    line-height: 1.5;
    text-decoration: none;
    border: 1px solid #69232a;
    transition: background-color 0.2s, color 0.2s;
}

.pot-article__button--primary {
    background: #69232a;
    color: #fff;
}

.pot-article__button--secondary {
    background: #fff;
    color: #69232a;
}

.pot-article__button--primary:hover { background: #50181f; }
.pot-article__button--secondary:hover { background: #faf6f3; }
.pot-article__button:focus-visible {
    outline: 2px solid #69232a;
    outline-offset: 4px;
}

.news-article--pot .news-article__back {
    margin-top: 54px;
}

@media screen and (max-width: 768px) {
    .news-article--pot {
        padding: 52px 6% 76px;
    }

    .news-article--pot .news-article__title {
        font-size: 2.35rem;
        line-height: 1.5;
        margin-bottom: 20px;
    }

    .news-article--pot .news-article__body,
    html[lang="ja"] .news-article--pot .news-article__body {
        font-size: 1.55rem;
        line-height: 1.85;
    }

    .pot-article__lead { margin-bottom: 34px !important; }
    .pot-article__heading { font-size: 1.85rem; }

    .pot-article__pricing {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .pot-article__price-card { padding: 20px 22px; }
    .pot-article__price-amount { font-size: 3.3rem; }
    .pot-article__detail {
        grid-template-columns: 1fr;
        gap: 5px;
        padding: 14px 2px 16px;
    }
    .pot-article__actions { flex-direction: column; }
    .pot-article__button { width: 100%; }
    .pot-article__section { margin-bottom: 38px; }
    .pot-article__contact { margin-top: 42px; margin-bottom: 0; }
}
