@charset "UTF-8";

:root {
    --oriest-ink: #3e3e3e;
    --oriest-green: #1e6348;
    --oriest-line: #06c755;
    --oriest-paper: #f7f6f1;
    --oriest-serif: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
    --oriest-gothic: "Zen Kaku Gothic Antique", "Hiragino Kaku Gothic ProN", sans-serif;
    --oriest-latin: "Cinzel", "Times New Roman", serif;
}

/* SWELLの標準ヘッダーとパンくずは、FigmaのHero内ヘッダーと重複するためトップのみ非表示。 */
#body_wrap.home .l-header,
#body_wrap.home .p-breadcrumb {
    display: none;
}

#body_wrap.home #content {
    width: 100%;
    max-width: none;
    padding: 0;
    background: var(--oriest-paper);
}

#body_wrap.home {
    overflow-x: clip;
}

.front-hero,
.front-owner {
    color: var(--oriest-ink);
    font-family: var(--oriest-serif);
}

.front-hero *,
.front-owner * {
    box-sizing: border-box;
}

.front-hero a,
.front-owner a {
    color: inherit;
    text-decoration: none;
}

.front-hero p,
.front-hero h1,
.front-owner p,
.front-owner h2,
.front-owner figure {
    margin: 0;
}

/* Hero */
.front-hero {
    position: relative;
    width: min(100%, 1440px);
    min-height: 900px;
    margin-inline: auto;
    overflow: hidden;
    background: var(--oriest-paper);
    isolation: isolate;
}

.front-hero__visuals {
    position: absolute;
    z-index: 0;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

.front-hero__photo {
    position: absolute;
    z-index: 0;
    inset: 0;
    background-position: left -230px;
    background-size: 1541px auto;
    background-repeat: no-repeat;
    opacity: 0.9;
}

.front-hero__filter {
    position: absolute;
    z-index: 2;
    inset: 0;
    display: block;
    width: 100%;
    max-width: none;
    height: 100%;
    object-fit: fill;
    pointer-events: none;
}

.front-hero__decoration {
    position: absolute;
    z-index: 3;
    display: block;
    max-width: none;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    pointer-events: none;
}

.front-hero__decoration--green {
    top: 213px;
    left: -343px;
    width: 714px;
}

.front-hero__decoration--yellow-top {
    top: -166px;
    right: -188px;
    width: 769px;
}

.front-hero__decoration--yellow-bottom {
    top: 508px;
    right: -320px;
    width: 1109px;
    aspect-ratio: 1109 / 769;
}

.front-hero__artwork {
    position: absolute;
    z-index: 4;
    display: block;
    max-width: none;
    height: auto;
    pointer-events: none;
}

.front-hero__artwork--rings {
    top: -50px;
    right: -60px;
    width: 500px;
    aspect-ratio: 538.876 / 518;
}

.front-hero__artwork--leaves {
    top: 432px;
    right: -71px;
    width: 373px;
    aspect-ratio: 373 / 490;
}

.front-hero__inner {
    position: relative;
    z-index: 1;
    width: min(100%, 1440px);
    min-height: 900px;
    margin-inline: auto;
    padding: 40px clamp(40px, 5.55vw, 80px) 82px;
}

.front-hero__header {
    display: flex;
    align-items: center;
    gap: 24px;
}

.front-brand {
    display: block;
    min-width: 320px;
    color: var(--oriest-green);
}

.front-brand__image {
    display: block;
    width: min(323px, 23vw);
    height: auto;
}

.front-hero__header-actions {
    display: flex;
    gap: 11px;
    margin-left: auto;
}

.front-hero__menu {
    display: grid;
    width: 60px;
    height: 60px;
    padding: 0;
    place-content: center;
    gap: 6px;
    flex: 0 0 60px;
    border: 1px solid rgb(30 99 72 / 45%);
    border-radius: 50%;
    color: var(--oriest-green);
    background: rgb(247 246 241 / 46%);
    cursor: pointer;
}

.front-hero__menu span {
    display: block;
    width: 22px;
    height: 1px;
    background: currentcolor;
}

.front-hero__content {
    width: min(620px, calc(100% - 80px));
    margin-top: 215px;
    margin-left: 38px;
}

.front-hero__english {
    position: absolute;
    z-index: -1;
    left: clamp(40px, 8.194%, 118px);
    bottom: 35px;
    color: rgb(255 255 255 / 42%);
    font-family: var(--oriest-latin);
    font-size: clamp(104px, 10.4vw, 150px);
    font-weight: 400;
    line-height: 0.8;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.front-hero__copy {
    display: grid;
    gap: 0;
    font-size: clamp(22px, 1.95vw, 28px);
    font-weight: 400;
    line-height: 54px;
    letter-spacing: 0.1em;
}

.front-hero__copy span {
    display: block;
    white-space: nowrap;
}

.front-hero p.front-hero__lead {
    width: 490px;
    margin-top: 22px;
    text-align: center;
    font-size: 20px;
    line-height: 34px;
    letter-spacing: 0.1em;
}

.front-hero p.front-hero__lead strong {
    color: var(--oriest-green);
    font-weight: 400;
}

.front-hero__content-actions {
    display: flex;
    gap: 11px;
    margin-top: 22px;
    margin-left: 4px;
}

.front-hero .front-cta {
    display: inline-flex;
    width: 220px;
    min-height: 60px;
    padding: 0 19px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 999px;
    color: #fff;
    font-size: 18px;
    line-height: 34px;
    letter-spacing: 0;
    white-space: nowrap;
    transition: filter 180ms ease, transform 180ms ease;
}

.front-cta:hover {
    filter: brightness(0.94);
    transform: translateY(-1px);
}

.front-cta:focus-visible,
.front-hero__menu:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 3px;
}

.front-cta--line {
    background: var(--oriest-line);
}

.front-cta--reserve {
    background: #3e3e3e;
}

.front-cta__icon {
    display: inline-grid;
    width: 25px;
    height: 24px;
    place-items: center;
    border-radius: 50%;
    color: var(--oriest-line);
    background: #fff;
    font-family: Arial, sans-serif;
    font-size: 7px;
    font-weight: 700;
}

.front-cta__calendar {
    width: 30px;
    height: 30px;
    fill: none;
    stroke: currentcolor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.3;
}

.front-cta__arrow {
    font-family: sans-serif;
    font-size: 23px;
    font-weight: 200;
}

/* Owner's Message */
.front-owner {
    position: relative;
    width: min(100%, 1440px);
    height: 829px;
    min-height: 829px;
    margin-inline: auto;
    overflow: hidden;
    background: #fff;
}

.front-owner__background {
    position: absolute;
    z-index: 0;
    top: -36px;
    left: 0;
    display: block;
    width: 1440px;
    max-width: none;
    height: 897px;
    pointer-events: none;
}

.front-owner__inner {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 829px;
}

.front-owner__visual {
    position: absolute;
    top: 50px;
    left: 0;
    width: 580px;
    height: 640px;
}

.front-owner__image {
    display: block;
    width: 580px;
    height: 640px;
}

.front-owner__flower {
    position: absolute;
    z-index: 2;
    top: 412px;
    left: -101px;
    display: block;
    width: 380px;
    max-width: none;
    height: 417px;
    pointer-events: none;
}

.front-owner__message {
    position: absolute;
    top: 172px;
    left: 717px;
    width: 480px;
}

.front-owner .front-owner__label {
    height: 50px;
    margin-bottom: 1px;
    color: var(--oriest-green);
    font-family: var(--oriest-latin);
    font-size: 20px;
    font-weight: 400;
    line-height: 50px;
    letter-spacing: 0.05em;
}

.front-owner__body {
    color: var(--oriest-ink);
    font-size: 20px;
    line-height: 40px;
    letter-spacing: 0.1em;
    white-space: nowrap;
}

.front-owner__body p {
    margin: 0;
}

.front-owner__profile {
    margin-top: 30px;
    color: #8f8f8f;
    font-family: var(--oriest-gothic);
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.1em;
}

.front-owner__profile .front-owner__name {
    margin-bottom: 13px;
    color: var(--oriest-ink);
    font-family: var(--oriest-serif);
    font-size: 20px;
    line-height: 30px;
    letter-spacing: 0.1em;
}

.front-owner__headline {
    position: absolute;
    top: 22px;
    left: 1197px;
    display: flex;
    height: 700px;
    margin: 0;
    gap: 0;
    color: var(--oriest-ink);
    font-size: 40px;
    font-weight: 400;
    line-height: 50px;
    letter-spacing: 0.1em;
    writing-mode: vertical-rl;
}

.front-owner__headline span,
.front-owner__headline em {
    font-style: normal;
    font-weight: 400;
}

.front-owner__headline em {
    color: var(--oriest-green);
}


/* Symptoms */
.front-symptoms {
    position: relative;
    width: min(100%, 1440px);
    margin-inline: auto;
    overflow: hidden;
    color: var(--oriest-ink);
    background:
        linear-gradient(
            to bottom,
            #fff 0,
            #fff 165px,
            rgb(228 235 233 / 40%) 165px,
            rgb(228 235 233 / 40%) 100%
        );
    font-family: var(--oriest-serif);
}

.front-symptoms *,
.front-symptoms *::before,
.front-symptoms *::after {
    box-sizing: border-box;
}

.front-symptoms p,
.front-symptoms h2 {
    margin: 0;
}

.front-symptoms__heading {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 213px;
    text-align: center;
    pointer-events: none;
}

.front-symptoms__label {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    color: var(--oriest-green);
    font-family: var(--oriest-latin);
    font-size: 30px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 1.5px;
}

.front-symptoms .front-symptoms__title {
    position: absolute;
    top: 53px;
    left: 0;
    width: 100%;
    color: var(--oriest-ink);
    font-size: 34px;
    font-weight: 400;
    line-height: 1.7;
    letter-spacing: 3.4px;
}

.front-symptoms__title span {
    color: var(--oriest-green);
}

.front-symptoms .front-symptoms__guide {
    position: absolute;
    top: 146px;
    left: 0;
    width: 100%;
    color: var(--oriest-ink);
    font-size: 28px;
    line-height: 1.7;
    letter-spacing: 2.8px;
}

.front-symptoms__grid {
    display: grid;
    width: 1200px;
    margin: 0 auto;
    padding: 231px 0 100px;
    align-items: start;
    grid-template-columns: repeat(3, 380px);
    gap: 30px;
}

.symptom-card {
    overflow: hidden;
    border-radius: 10px;
    background: #fff;
    --symptom-motion-duration: 400ms;
    --symptom-motion-easing: cubic-bezier(0.25, 0.1, 0.25, 1);
}

.symptom-card__summary {
    position: relative;
    display: flex;
    min-height: 148px;
    padding: 19px 42px 20px;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    list-style: none;
    text-align: center;
    cursor: pointer;
}

.symptom-card__summary::-webkit-details-marker {
    display: none;
}

.symptom-card__summary::marker {
    content: "";
}

.symptom-card__case {
    color: var(--oriest-green);
    font-family: var(--oriest-latin);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0.65px;
}

.symptom-card__case b {
    font-size: 16px;
    font-weight: 400;
}

.symptom-card__title {
    margin-top: 8px;
    color: var(--oriest-ink);
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: 1px;
}

.symptom-card__keywords {
    margin-top: 7px;
    color: #8f8f8f;
    font-family: var(--oriest-gothic);
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 1.6px;
}

.symptom-card__arrow {
    position: absolute;
    right: 22px;
    bottom: 21px;
    width: 10px;
    height: 10px;
    border-right: 1px solid var(--oriest-green);
    border-bottom: 1px solid var(--oriest-green);
    transform: rotate(45deg);
    transform-origin: 65% 65%;
    transition:
        transform var(--symptom-motion-duration)
        var(--symptom-motion-easing);
}

.symptom-card[open] .symptom-card__arrow {
    transform: rotate(225deg);
}

.symptom-card__detail {
    padding: 0 30px 27px;
}

.symptom-card__detail::before {
    display: block;
    height: 1px;
    margin-bottom: 20px;
    background: rgb(30 99 72 / 18%);
    content: "";
}

.symptom-card__detail p {
    color: #000;
    font-size: 15px;
    line-height: 24px;
    letter-spacing: 0.75px;
}

.symptom-card.is-accordion-ready .symptom-card__detail {
    overflow: hidden;
    transition:
        height var(--symptom-motion-duration)
        var(--symptom-motion-easing);
}

.symptom-card.is-accordion-ready .symptom-card__detail p {
    opacity: 0;
    transform: translateY(5px);
    transition:
        opacity 300ms ease,
        transform 300ms ease;
}

.symptom-card.is-accordion-ready.is-open .symptom-card__detail p {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 150ms;
}

.symptom-card__summary:focus-visible {
    outline: 2px solid var(--oriest-green);
    outline-offset: -4px;
}

/* ===== Contact (CTA) section ===== */
.front-contact {
    position: relative;
    width: min(100%, 1440px);
    height: 333px;
    margin: 0 auto;
    overflow: hidden;
    color: var(--oriest-ink);
    font-family: var(--oriest-serif);
}

.front-contact *,
.front-contact *::before,
.front-contact *::after {
    box-sizing: border-box;
}

.front-contact__background {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    display: block;
    width: 1440px;
    max-width: none;
    height: 333px;
    pointer-events: none;
}

.front-contact .front-contact__title {
    position: absolute;
    z-index: 1;
    top: 47px;
    left: 50%;
    width: 498px;
    height: 73px;
    margin: 0;
    transform: translateX(-50%);
}

.front-contact__title img {
    display: block;
    width: 498px;
    height: 73px;
}

.front-contact .front-contact__lead {
    position: absolute;
    z-index: 2;
    top: 122px;
    left: 50%;
    margin: 0;
    color: var(--oriest-ink);
    font-size: 34px;
    font-weight: 400;
    line-height: 1.7;
    letter-spacing: 3.4px;
    white-space: nowrap;
    transform: translateX(-50%);
}

.front-contact__actions {
    position: absolute;
    z-index: 2;
    top: 198px;
    left: 215px;
    width: 1009px;
    height: 70px;
}

.front-contact__actions-image {
    display: block;
    width: 1009px;
    max-width: none;
    height: 70px;
    pointer-events: none;
}

.front-contact__action-link,
.front-contact__tel-area {
    position: absolute;
    top: 0;
    height: 70px;
}

.front-contact__action-link {
    border-radius: 70px;
}

.front-contact__action-link--line {
    left: 0;
    width: 270px;
}

.front-contact__action-link--reserve {
    left: 300px;
    width: 270px;
}

.front-contact__tel-area {
    left: 600px;
    width: 409px;
}

.front-contact__action-link:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 3px;
}

.front-contact__sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}


/* ===== Your Guide section ===== */
.front-guide {
    position: relative;
    width: min(100%, 1440px);
    height: 1500px;
    margin: 96px auto 0;
    overflow: hidden;
    color: var(--oriest-ink);
    font-family: var(--oriest-serif);
}

.front-guide__decoration,
.front-guide__photo,
.front-guide__eyebrow,
.front-guide__title,
.front-guide__text,
.front-guide__statement,
.front-guide__btn {
    position: absolute;
    display: block;
    margin: 0;
}

.front-guide__decoration {
    z-index: 0;
    pointer-events: none;
}

.front-guide__decoration--leaf-one {
    top: 70px;
    right: -110px;
    width: 460px;
    height: 651px;
    opacity: 0.7;
    transform: rotate(-62.96deg);
    transform-origin: center;
}

.front-guide__decoration--leaf-two {
    top: 658px;
    left: -128px;
    width: 1669px;
    height: 880px;
}

.front-guide__glow {
    z-index: 2;
    width: 520px;
    height: 520px;
    background-image: radial-gradient(
        circle at center,
        rgba(255, 234, 96, 0.45) 0%,
        rgba(255, 234, 96, 0.28) 35%,
        rgba(255, 234, 96, 0.1) 60%,
        rgba(255, 234, 96, 0) 75%
    );
    mix-blend-mode: multiply;
    pointer-events: none;
}

.front-guide__glow--one {
    top: 260px;
    left: 286px;
    z-index: 0;
}

.front-guide__glow--two {
    top: 803px;
    left: 1060px;
    /* 施術側のみ濃度調整。共通 .front-guide__glow は変更しない。
       F12で値を決めてから下記を有効化：
    opacity: 0.X;
    background-image: radial-gradient(
        circle at center,
        rgba(255, 234, 96, 0.30) 0%,
        rgba(255, 234, 96, 0.18) 35%,
        rgba(255, 234, 96, 0.06) 60%,
        rgba(255, 234, 96, 0) 75%
    );
    */
}

.front-guide__photo--director {
    top: 0;
    left: 35px;
    width: 580px;
    height: 652px;
}

.front-guide__photo--cranial {
    top: 875px;
    left: 755px;
    width: 600px;
    height: 529px;
}

.front-guide__eyebrow,
.front-guide__title,
.front-guide__text,
.front-guide__statement,
.front-guide__btn {
    z-index: 3;
}

.front-guide__eyebrow {
    top: 122px;
    left: 752px;
    color: #1e6348;
    font-family: "Cinzel", serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 1px;
}

.front-guide__title,
.front-guide__statement {
    color: #3e3e3e;
    font-family: var(--oriest-serif);
    font-size: 34px;
    font-weight: 400;
    line-height: 50px;
    letter-spacing: 3.4px;
}

.front-guide__title {
    top: 179px;
    left: 752px;
}

.front-guide__statement {
    top: 720px;
    left: 155px;
}

.front-guide__text {
    width: 603px;
    color: #3e3e3e;
    font-family: var(--oriest-serif);
    font-size: 20px;
    font-weight: 400;
    line-height: 40px;
    letter-spacing: 2px;
}

.front-guide__text--one {
    top: 310px;
    left: 752px;
}

.front-guide__text--two {
    top: 914px;
    left: 155px;
}

.front-guide__btn {
    top: 1235px;
    left: 155px;
    width: 280px;
    height: 60px;
}

.front-guide__btn img {
    display: block;
    width: 100%;
    height: 100%;
}

.front-guide__sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 1100px) {
    .front-hero__header-actions {
        display: none;
    }

    .front-hero__menu {
        margin-left: auto;
    }

    .front-owner__message {
        left: 48%;
    }

    .front-owner__headline {
        right: 24px;
        left: auto;
        font-size: 34px;
    }

    .front-symptoms__grid {
        width: min(100%, 790px);
        padding-inline: 0;
        grid-template-columns: repeat(2, minmax(0, 380px));
    }
}

@media (max-width: 767px) {
    .front-hero {
        min-height: 883px;
    }

    .front-hero__photo {
        background-size: cover;
        background-position: 48% top;
    }

    .front-hero__filter {
        object-fit: cover;
        object-position: center;
    }

    .front-hero__artwork--rings {
        top: -15px;
        right: -122px;
        width: 270px;
    }

    .front-hero__artwork--leaves {
        top: 385px;
        right: -106px;
        width: 230px;
    }

    .front-hero__decoration--green {
        top: auto;
        bottom: 12%;
        left: -39%;
        width: 76%;
    }

    .front-hero__decoration--yellow-top {
        top: -4%;
        right: -31%;
        width: 78%;
    }

    .front-hero__decoration--yellow-bottom {
        top: auto;
        right: -58%;
        bottom: 4%;
        width: 118%;
    }

    .front-hero__inner {
        min-height: 883px;
        padding: 25px 20px 46px;
    }

    .front-brand {
        min-width: 0;
    }

    .front-brand__image {
        width: 180px;
    }

    .front-hero__menu {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
        gap: 5px;
    }

    .front-hero__menu span {
        width: 16px;
    }

    .front-hero__content {
        width: 100%;
        margin-top: 405px;
        margin-left: 0;
    }

    .front-hero__english {
        left: 20px;
        bottom: 313px;
        font-size: 59px;
        line-height: 0.82;
    }

    .front-hero__copy {
        gap: 0;
        font-size: 16px;
        line-height: 2.1;
        letter-spacing: 0.09em;
    }

    .front-hero__copy span {
        white-space: normal;
    }

    .front-hero p.front-hero__lead {
        width: auto;
        margin-top: 29px;
        text-align: start;
        font-size: 13px;
        line-height: 1.75;
        letter-spacing: 0.08em;
        white-space: nowrap;
    }

    .front-hero__content-actions {
        gap: 9px;
        margin-top: 19px;
        margin-left: 0;
    }

    .front-hero .front-cta {
        width: auto;
        min-width: 0;
        min-height: 44px;
        padding: 0 10px;
        gap: 5px;
        flex: 1 1 0;
        font-size: 13px;
        letter-spacing: 0;
    }

    .front-cta__icon {
        width: 17px;
        height: 17px;
        font-size: 5px;
    }

    .front-cta__calendar {
        width: 17px;
        height: 17px;
    }

    .front-cta__arrow {
        font-size: 18px;
    }

    .front-owner {
        width: 100%;
        height: 961px;
        min-height: 961px;
    }

    .front-owner__background {
        width: auto;
        height: 961px;
        object-fit: cover;
        object-position: left top;
    }

    .front-owner__inner {
        position: relative;
        display: block;
        width: 100%;
        height: 961px;
        min-height: 961px;
        padding: 0 25px 74px;
    }

    .front-owner__visual {
        position: absolute;
        top: 0;
        left: 0;
        width: calc(100% + 25px);
        height: 400px;
        margin-left: -25px;
    }

    .front-owner__image {
        width: 360px;
        height: 400px;
        object-fit: cover;
        object-position: center top;
    }

    .front-owner__flower {
        top: 312px;
        left: -42px;
        width: 170px;
        height: auto;
    }

    .front-owner__headline {
        position: absolute;
        top: 38px;
        right: 16px;
        left: auto;
        height: 470px;
        font-size: 26px;
        line-height: 1.45;
        letter-spacing: 0.12em;
    }

    .front-owner__message {
        position: absolute;
        top: 448px;
        left: 25px;
        width: calc(100% - 50px);
        padding-top: 48px;
        padding-bottom: 0;
    }

    .front-owner .front-owner__label {
        height: auto;
        margin-bottom: 18px;
        font-size: 18px;
        line-height: 1.4;
    }

    .front-owner__body {
        font-size: 14px;
        line-height: 2.25;
        letter-spacing: 0.09em;
        white-space: normal;
    }

    .front-owner__profile {
        margin-top: 25px;
        font-size: 11px;
        line-height: 1.55;
    }

    .front-owner__profile .front-owner__name {
        margin-bottom: 10px;
        font-size: 15px;
    }

        .front-symptoms__heading {
            height: 180px;
        }

        .front-symptoms__label {
            top: 0;
            font-size: 24px;
        }

        .front-symptoms .front-symptoms__title {
            top: 43px;
            padding-inline: 20px;
            font-size: 22px;
            line-height: 1.75;
            letter-spacing: 2.2px;
        }

        .front-symptoms .front-symptoms__guide {
            top: 126px;
            padding-inline: 20px;
            font-size: 18px;
            letter-spacing: 1.8px;
        }

        .front-symptoms {
            background:
                linear-gradient(
                    to bottom,
                    #fff 0,
                    #fff 139px,
                    rgb(228 235 233 / 40%) 139px,
                    rgb(228 235 233 / 40%) 100%
                );
        }

        .front-symptoms__grid {
            width: 100%;
            padding: 190px 20px 64px;
            grid-template-columns: minmax(0, 1fr);
            gap: 20px;
        }

        .symptom-card__summary {
            min-height: 138px;
            padding: 18px 38px 19px;
        }

        .symptom-card__title {
            font-size: 18px;
        }

        .symptom-card__keywords {
            font-size: 14px;
            letter-spacing: 1.2px;
        }

        .symptom-card__detail {
            padding: 0 24px 24px;
        }
}

@media (max-width: 374px) {
    .front-hero p.front-hero__lead {
        font-size: 12px;
    }

    .front-hero .front-cta {
        padding-inline: 7px;
        font-size: 12px;
    }

    .front-owner__headline {
        right: 8px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .front-cta {
        transition: none;
    }

    .symptom-card__arrow,
    .symptom-card__detail,
    .symptom-card__detail p {
        transition: none;
    }
}
