.yx-home-v2 {
    --yx-green: #2f5d50;
    --yx-green-dark: #21483d;
    --yx-ink: #222;
    --yx-muted: #666;
    --yx-gold: #c8a86a;
    --yx-warm: #faf8f3;
    --yx-pale: #f2f5f1;
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    overflow: hidden;
    background: #fff;
    color: var(--yx-ink);
    font-size: 16px;
    line-height: 1.75;
}

.yx-home-v2 *,
.yx-home-v2 *::before,
.yx-home-v2 *::after {
    box-sizing: border-box;
}

.yx-home-v2__container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.yx-home-v2__hero {
    position: relative;
    min-height: min(760px, 86vh);
    display: flex;
    align-items: center;
    color: #fff;
    isolation: isolate;
}

.yx-home-v2__hero::after {
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, rgba(20, 34, 28, 0.9) 0%, rgba(20, 34, 28, 0.68) 54%, rgba(20, 34, 28, 0.2) 100%);
    content: "";
}

.yx-home-v2__hero-media {
    position: absolute;
    inset: 0;
    z-index: -2;
}

.yx-home-v2__hero-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.yx-home-v2__hero-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr);
    gap: 64px;
    align-items: center;
    padding: 92px 0 76px;
}

.yx-home-v2__hero-copy {
    max-width: 760px;
}

.yx-home-v2__eyebrow {
    margin: 0 0 12px;
    color: var(--yx-green);
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
}

.yx-home-v2__hero .yx-home-v2__eyebrow {
    color: #e7d4a9;
}

.yx-home-v2__hero h1 {
    max-width: 760px;
    margin: 0;
    color: #fff;
    font-size: 48px;
    font-weight: 700;
    line-height: 1.22;
}

.yx-home-v2__lead {
    max-width: 720px;
    margin: 22px 0 0;
    color: rgba(255, 255, 255, 0.9);
    font-size: 18px;
    line-height: 1.85;
}

.yx-home-v2__checks {
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
}

.yx-home-v2__checks li {
    position: relative;
    margin: 8px 0;
    padding-left: 24px;
}

.yx-home-v2__checks li::before {
    position: absolute;
    top: 0;
    left: 0;
    color: #e7d4a9;
    content: "✓";
}

.yx-home-v2__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin-top: 30px;
}

.yx-home-v2__button {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;
    border: 1px solid transparent;
    border-radius: 6px;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
}

.yx-home-v2__button--primary {
    background: var(--yx-green);
    color: #fff;
}

.yx-home-v2__hero .yx-home-v2__button--primary {
    background: #fff;
    color: var(--yx-green-dark);
}

.yx-home-v2__button--secondary {
    border-color: var(--yx-green);
    background: transparent;
    color: var(--yx-green);
}

.yx-home-v2__hero .yx-home-v2__button--secondary {
    border-color: rgba(255, 255, 255, 0.75);
    color: #fff;
}

.yx-home-v2__text-link {
    padding: 10px 4px;
    color: inherit;
    font-weight: 700;
}

.yx-home-v2__plan {
    padding: 28px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 8px;
    background: rgba(17, 35, 29, 0.76);
    backdrop-filter: blur(10px);
}

.yx-home-v2__plan-title {
    margin: 0 0 12px;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
}

.yx-home-v2__plan dl,
.yx-home-v2__plan dd {
    margin: 0;
}

.yx-home-v2__plan dl div {
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 12px;
    padding: 14px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.yx-home-v2__plan dt {
    color: #e7d4a9;
    font-weight: 700;
}

.yx-home-v2__section {
    padding: 64px 0;
}

.yx-home-v2__section--light {
    background: var(--yx-warm);
}

.yx-home-v2__heading {
    max-width: 800px;
    margin-bottom: 30px;
}

.yx-home-v2__heading h2,
.yx-home-v2__diagnosis-layout h2 {
    margin: 0;
    color: var(--yx-ink);
    font-size: 32px;
    line-height: 1.35;
}

.yx-home-v2__heading > p:last-child,
.yx-home-v2__diagnosis-layout > div > p {
    margin: 14px 0 0;
    color: var(--yx-muted);
}

.yx-home-v2__problem-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 32px;
}

.yx-home-v2__problem {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 16px;
    padding: 22px 0;
    border-bottom: 1px solid #dedbd3;
}

.yx-home-v2__problem > span {
    color: var(--yx-gold);
    font-weight: 700;
}

.yx-home-v2__problem h3,
.yx-home-v2__problem p {
    margin: 0;
}

.yx-home-v2__problem h3 {
    font-size: 18px;
}

.yx-home-v2__problem p {
    margin-top: 6px;
    color: var(--yx-muted);
}

.yx-home-v2__grid {
    display: grid;
    gap: 20px;
}

.yx-home-v2__grid--four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.yx-home-v2__grid--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.yx-home-v2__card,
.yx-home-v2__case {
    min-width: 0;
    border: 1px solid #e0e5e1;
    border-radius: 8px;
    background: #fff;
}

.yx-home-v2__card {
    min-height: 230px;
    display: flex;
    flex-direction: column;
    padding: 24px;
}

.yx-home-v2__card h3,
.yx-home-v2__card p {
    margin: 0;
}

.yx-home-v2__card h3 {
    font-size: 19px;
}

.yx-home-v2__card p {
    margin-top: 10px;
    color: var(--yx-muted);
}

.yx-home-v2__card a,
.yx-home-v2__case a {
    margin-top: auto;
    padding-top: 18px;
    color: var(--yx-green);
    font-weight: 700;
    text-decoration: none;
}

.yx-home-v2__section--diagnosis {
    background: var(--yx-pale);
}

.yx-home-v2__diagnosis-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
    gap: 60px;
    align-items: center;
}

.yx-home-v2__diagnosis-layout .yx-home-v2__button {
    margin-top: 24px;
}

.yx-home-v2__diagnosis-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
    padding: 24px;
    border: 1px solid #d7e0da;
    border-radius: 8px;
    background: #fff;
    list-style: none;
}

.yx-home-v2__diagnosis-fields li {
    padding: 10px 12px;
    border-left: 3px solid var(--yx-gold);
    background: #f8faf8;
}

.yx-home-v2__aroma-card {
    min-height: 250px;
}

.yx-home-v2__aroma-card strong {
    color: #3e4a44;
}

.yx-home-v2__equipment-list {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 28px;
}

.yx-home-v2__equipment-list article {
    padding: 20px;
    border-top: 3px solid var(--yx-green);
    background: #fff;
}

.yx-home-v2__equipment-list span {
    color: var(--yx-gold);
    font-weight: 700;
}

.yx-home-v2__equipment-list h3 {
    margin: 10px 0 0;
    font-size: 18px;
}

.yx-home-v2__equipment-list p {
    margin: 8px 0 0;
    color: var(--yx-muted);
}

.yx-home-v2__case {
    overflow: hidden;
}

.yx-home-v2__case-media {
    aspect-ratio: 16 / 10;
    display: block;
    padding: 0 !important;
    overflow: hidden;
    background: #eef1ef;
}

.yx-home-v2__case-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.yx-home-v2__case-body {
    min-height: 255px;
    display: flex;
    flex-direction: column;
    padding: 22px;
}

.yx-home-v2__case h3,
.yx-home-v2__case p {
    margin: 0;
}

.yx-home-v2__case h3 {
    font-size: 19px;
}

.yx-home-v2__case p {
    margin-top: 10px;
    color: var(--yx-muted);
}

.yx-home-v2__contact .yx-lead-section {
    padding-top: 64px;
    background: var(--yx-green-dark);
    color: #fff;
}

.yx-home-v2__contact .yx-lead-copy h2,
.yx-home-v2__contact .yx-field label {
    color: #fff;
}

.yx-home-v2__contact .yx-lead-copy p,
.yx-home-v2__contact .yx-lead-facts li,
.yx-home-v2__contact .yx-consent {
    color: rgba(255, 255, 255, 0.82);
}

.yx-home-v2__contact .yx-lead-facts li {
    border-color: rgba(255, 255, 255, 0.16);
}

.yx-home-v2__contact .yx-lead-submit {
    background: var(--yx-gold);
    color: #1f3129;
}

@media (max-width: 980px) {
    .yx-home-v2__hero-layout,
    .yx-home-v2__diagnosis-layout {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .yx-home-v2__plan {
        max-width: 620px;
    }

    .yx-home-v2__grid--four,
    .yx-home-v2__grid--three {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .yx-home-v2__equipment-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .yx-home-v2 {
        font-size: 15px;
    }

    .yx-home-v2__container {
        width: min(100% - 32px, 1180px);
    }

    .yx-home-v2__hero {
        min-height: 760px;
        align-items: flex-end;
    }

    .yx-home-v2__hero::after {
        background: linear-gradient(180deg, rgba(20, 34, 28, 0.34) 0%, rgba(20, 34, 28, 0.9) 58%, rgba(20, 34, 28, 0.96) 100%);
    }

    .yx-home-v2__hero-layout {
        padding: 90px 0 44px;
    }

    .yx-home-v2__hero h1 {
        font-size: 36px;
    }

    .yx-home-v2__lead {
        font-size: 16px;
    }

    .yx-home-v2__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .yx-home-v2__text-link {
        text-align: center;
    }

    .yx-home-v2__plan {
        padding: 20px;
    }

    .yx-home-v2__section {
        padding: 40px 0;
    }

    .yx-home-v2__heading h2,
    .yx-home-v2__diagnosis-layout h2 {
        font-size: 26px;
    }

    .yx-home-v2__problem-list,
    .yx-home-v2__grid--four,
    .yx-home-v2__grid--three,
    .yx-home-v2__equipment-list {
        grid-template-columns: 1fr;
    }

    .yx-home-v2__card {
        min-height: 0;
    }

    .yx-home-v2__diagnosis-fields {
        grid-template-columns: 1fr;
    }

    .yx-home-v2__contact .yx-lead-section {
        padding-top: 40px;
    }
}

/* 2026 homepage fusion: editorial rhythm, real-space imagery and shorter mobile flow. */
.yx-home-v2 {
    --yx-green: #1d4b3e;
    --yx-green-dark: #12352c;
    --yx-gold: #caa96b;
    --yx-warm: #f4efe5;
    --yx-pale: #edf1ec;
    color: #202620;
}

.yx-home-v2__container { width: min(1280px, calc(100% - 64px)); }
.yx-home-v2__section { padding: 104px 0; }
.yx-home-v2__hero { min-height: min(780px, 88vh); }
.yx-home-v2__hero::after { background: linear-gradient(90deg, rgba(11, 31, 25, .9) 0%, rgba(11, 31, 25, .65) 52%, rgba(11, 31, 25, .12) 100%); }
.yx-home-v2__hero-media img { object-position: 52% 48%; transform: scale(1.015); }
.yx-home-v2__hero h1 { max-width: 820px; font-family: Georgia, "Noto Serif SC", serif; font-size: clamp(44px, 4.8vw, 72px); font-weight: 500; line-height: 1.18; letter-spacing: -.025em; }
.yx-home-v2__lead { max-width: 650px; font-size: 18px; }
.yx-home-v2__eyebrow { letter-spacing: .18em; }
.yx-home-v2__heading { max-width: 820px; margin-bottom: 48px; }
.yx-home-v2__heading h2,
.yx-home-v2__diagnosis-layout h2 { font-family: Georgia, "Noto Serif SC", serif; font-size: clamp(34px, 3.4vw, 52px); font-weight: 500; line-height: 1.25; letter-spacing: -.02em; }
.yx-home-v2__button { border-radius: 0; padding-inline: 25px; letter-spacing: .03em; }
.yx-home-v2__plan { border-radius: 0; background: rgba(12, 45, 36, .78); }

.yx-home-v2__problem-list { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1px solid rgba(29, 75, 62, .22); }
.yx-home-v2__problem { display: block; padding: 30px 26px 10px 0; border: 0; border-right: 1px solid rgba(29, 75, 62, .16); }
.yx-home-v2__problem:last-child { border-right: 0; }
.yx-home-v2__problem > span { display: block; margin-bottom: 38px; color: var(--yx-gold); font-family: Georgia, serif; font-size: 18px; }

.yx-home-v2__scene-grid { display: grid; grid-template-columns: 1.35fr .65fr .65fr; grid-template-rows: repeat(2, 310px); gap: 14px; }
.yx-home-v2__scene { position: relative; min-height: 280px; overflow: hidden; color: #fff; text-decoration: none; isolation: isolate; }
.yx-home-v2__scene:first-child { grid-row: 1 / 3; }
.yx-home-v2__scene img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .65s ease; }
.yx-home-v2__scene::after { position: absolute; inset: 0; z-index: 0; content: ""; background: linear-gradient(0deg, rgba(8, 24, 19, .84), rgba(8, 24, 19, .04) 70%); }
.yx-home-v2__scene:hover img { transform: scale(1.04); }
.yx-home-v2__scene-copy { position: absolute; right: 0; bottom: 0; left: 0; z-index: 1; display: grid; gap: 7px; padding: 28px; }
.yx-home-v2__scene-copy small { color: #dec48f; font-size: 11px; letter-spacing: .16em; }
.yx-home-v2__scene-copy strong { font-family: Georgia, "Noto Serif SC", serif; font-size: 25px; font-weight: 500; }
.yx-home-v2__scene-copy em { color: rgba(255,255,255,.8); font-size: 13px; font-style: normal; line-height: 1.65; }

.yx-home-v2__section--diagnosis { background: var(--yx-green-dark); color: #fff; }
.yx-home-v2__section--diagnosis .yx-home-v2__eyebrow { color: #dec48f; }
.yx-home-v2__diagnosis-layout h2 { color: #fff; }
.yx-home-v2__diagnosis-layout > div > p { color: rgba(255,255,255,.72); }
.yx-home-v2__diagnosis-fields { background: rgba(255,255,255,.08); }
.yx-home-v2__diagnosis-fields li { border-color: rgba(255,255,255,.14); color: rgba(255,255,255,.86); }
.yx-home-v2__diagnosis-fields strong { display: block; color: #dec48f; font-family: Georgia, serif; font-size: 13px; letter-spacing: .12em; }
.yx-home-v2__diagnosis-note { display: block; margin-top: 16px; color: rgba(255,255,255,.58); }

.yx-home-v2__aroma-card { position: relative; min-height: 290px; padding: 34px; border: 0; background: linear-gradient(145deg, #f6f0e5, #e7ede7); }
.yx-home-v2__aroma-card:nth-child(2) { background: linear-gradient(145deg, #f3e7df, #f7f3ed); }
.yx-home-v2__aroma-card:nth-child(3) { background: linear-gradient(145deg, #d9ded5, #eef0e9); }
.yx-home-v2__aroma-card:nth-child(4) { background: linear-gradient(145deg, #e9e0cf, #f2eee7); }
.yx-home-v2__aroma-card h3 { font-family: Georgia, "Noto Serif SC", serif; font-size: 27px; font-weight: 500; }

.yx-home-v2__equipment-list { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1px solid rgba(29,75,62,.25); }
.yx-home-v2__equipment-list article { display: block; padding: 34px 28px 34px 0; border: 0; border-right: 1px solid rgba(29,75,62,.16); }
.yx-home-v2__equipment-list article:last-child { border-right: 0; }
.yx-home-v2__equipment-list span { display: block; margin-bottom: 28px; color: var(--yx-gold); font-family: Georgia, serif; font-size: 22px; }
.yx-home-v2__section--process { background: #172f28; color: #fff; }
.yx-home-v2__section--process .yx-home-v2__heading h2 { color: #fff; }
.yx-home-v2__section--process .yx-home-v2__heading > p:last-child { color: rgba(255,255,255,.65); }
.yx-home-v2__section--process .yx-home-v2__eyebrow { color: #dec48f; }
.yx-home-v2__process { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.22); }
.yx-home-v2__process li { min-height: 190px; display: grid; align-content: start; gap: 12px; padding: 28px 22px; border-right: 1px solid rgba(255,255,255,.12); }
.yx-home-v2__process li:last-child { border-right: 0; }
.yx-home-v2__process span { color: #dec48f; font-family: Georgia, serif; }
.yx-home-v2__process strong { font-size: 18px; }
.yx-home-v2__process em { color: rgba(255,255,255,.58); font-size: 13px; font-style: normal; }

@media (max-width: 980px) {
    .yx-home-v2__container { width: min(100% - 40px, 760px); }
    .yx-home-v2__problem-list, .yx-home-v2__equipment-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .yx-home-v2__scene-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 380px repeat(2, 280px); }
    .yx-home-v2__scene:first-child { grid-column: 1 / -1; grid-row: auto; }
    .yx-home-v2__process { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
    .yx-home-v2__container { width: min(100% - 32px, 520px); }
    .yx-home-v2__section { padding: 72px 0; }
    .yx-home-v2__hero { min-height: 720px; }
    .yx-home-v2__hero::after { background: linear-gradient(0deg, rgba(10,30,24,.95) 0%, rgba(10,30,24,.7) 62%, rgba(10,30,24,.32) 100%); }
    .yx-home-v2__hero h1 { font-size: 39px; }
    .yx-home-v2__lead { font-size: 16px; line-height: 1.75; }
    .yx-home-v2__plan { display: none; }
    .yx-home-v2__problem-list, .yx-home-v2__equipment-list { grid-template-columns: 1fr; }
    .yx-home-v2__problem, .yx-home-v2__equipment-list article { padding: 24px 0; border-right: 0; border-bottom: 1px solid rgba(29,75,62,.16); }
    .yx-home-v2__problem > span, .yx-home-v2__equipment-list span { margin-bottom: 12px; }
    .yx-home-v2__scene-grid { display: flex; margin-right: -16px; overflow-x: auto; scroll-snap-type: x mandatory; }
    .yx-home-v2__scene { min-width: 82vw; min-height: 400px; scroll-snap-align: start; }
    .yx-home-v2__scene-copy { padding: 24px; }
    .yx-home-v2__grid--four { display: flex; margin-right: -16px; overflow-x: auto; scroll-snap-type: x mandatory; }
    .yx-home-v2__aroma-card { min-width: 78vw; scroll-snap-align: start; }
    .yx-home-v2__process { grid-template-columns: 1fr 1fr; }
    .yx-home-v2__process li { min-height: 150px; padding: 22px 16px; }
}

/* 2026 sensory layer: warm floral atmosphere and modern restrained motion. */
.yx-home-v2 {
    --yx-rose: #d8a5a9;
    --yx-rose-soft: #f4e4e2;
    --yx-lilac: #b8adc9;
    --yx-honey: #e3bd75;
    --yx-cream: #fbf6ed;
    --yx-mist: #eef2ec;
    background: var(--yx-cream);
}

.yx-home-v2__hero {
    min-height: min(860px, 92vh);
    overflow: hidden;
}

.yx-home-v2__hero::before {
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        radial-gradient(circle at 82% 24%, rgba(228, 180, 186, .28), transparent 31%),
        radial-gradient(circle at 67% 72%, rgba(226, 190, 117, .18), transparent 32%);
    content: "";
}

.yx-home-v2__hero::after {
    background: linear-gradient(90deg, rgba(14, 37, 31, .9) 0%, rgba(18, 46, 38, .7) 48%, rgba(54, 48, 46, .2) 100%);
}

.yx-home-v2__hero-media img {
    filter: saturate(.82) contrast(.96) brightness(1.04);
    transform: scale(1.04);
    transition: transform 1.1s cubic-bezier(.2,.7,.2,1);
    will-change: transform;
}

.yx-home-v2__hero h1 {
    max-width: 880px;
    text-shadow: 0 8px 30px rgba(8, 23, 18, .25);
}

.yx-home-v2__hero .yx-home-v2__eyebrow { color: #f0cc9c; }
.yx-home-v2__lead { color: rgba(255,255,255,.88); }
.yx-home-v2__plan {
    border: 1px solid rgba(255,255,255,.24);
    background: linear-gradient(145deg, rgba(23, 61, 50, .72), rgba(69, 56, 58, .52));
    box-shadow: 0 30px 80px rgba(8, 26, 20, .2);
}

.yx-home-v2__scent-air { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.yx-home-v2__scent-air span {
    position: absolute;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 58% 42% 62% 38% / 48% 57% 43% 52%;
    background: radial-gradient(circle at 34% 30%, rgba(255,255,255,.18), rgba(224,177,187,.08) 48%, transparent 70%);
    backdrop-filter: blur(2px);
    animation: yx-scent-float 18s ease-in-out infinite alternate;
}
.yx-home-v2__scent-air span:nth-child(1) { top: 10%; right: 8%; width: 280px; height: 210px; }
.yx-home-v2__scent-air span:nth-child(2) { top: 48%; right: 25%; width: 180px; height: 240px; animation-delay: -6s; }
.yx-home-v2__scent-air span:nth-child(3) { bottom: -8%; right: -3%; width: 380px; height: 300px; animation-delay: -11s; }
.yx-home-v2__scent-air i {
    position: absolute;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: rgba(255,240,220,.9);
    box-shadow: 0 0 26px 9px rgba(236,193,157,.36);
    animation: yx-pollen-drift 14s linear infinite;
}
.yx-home-v2__scent-air i:nth-of-type(1) { top: 34%; left: 58%; }
.yx-home-v2__scent-air i:nth-of-type(2) { top: 67%; left: 78%; animation-delay: -7s; }

.yx-home-v2__scroll-cue {
    position: absolute;
    bottom: 24px;
    left: 50%;
    display: grid;
    justify-items: center;
    gap: 7px;
    color: rgba(255,255,255,.64);
    font-size: 11px;
    letter-spacing: .12em;
    transform: translateX(-50%);
}
.yx-home-v2__scroll-cue span { width: 1px; height: 32px; overflow: hidden; background: rgba(255,255,255,.25); }
.yx-home-v2__scroll-cue span::after { display: block; width: 100%; height: 45%; background: #fff; content: ""; animation: yx-scroll-line 2.2s ease-in-out infinite; }

.yx-home-v2__section--light {
    background:
        radial-gradient(circle at 92% 10%, rgba(216,165,169,.15), transparent 26%),
        linear-gradient(135deg, #fbf7ef, #f5eee6);
}

.yx-home-v2__problem > span { color: #b67f83; }
.yx-home-v2__problem h3 { font-family: Georgia, "Noto Serif SC", serif; font-weight: 500; }

.yx-home-v2__consult-ribbon {
    position: relative;
    overflow: hidden;
    padding: 78px 0;
    background:
        radial-gradient(circle at 10% 30%, rgba(255,255,255,.7), transparent 24%),
        linear-gradient(115deg, #ead4cc 0%, #f6e9df 48%, #ddd9e6 100%);
    isolation: isolate;
}
.yx-home-v2__consult-ribbon::after {
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(100deg, transparent 30%, rgba(255,255,255,.42) 48%, transparent 66%);
    content: "";
    transform: translateX(-80%);
    animation: yx-light-pass 10s ease-in-out infinite;
}
.yx-home-v2__consult-ribbon::before {
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image: var(--yx-consult-image);
    background-position: center;
    background-size: cover;
    content: "";
    filter: saturate(.75);
    opacity: .22;
}
.yx-home-v2__consult-layout { display: grid; grid-template-columns: 1.25fr .75fr; gap: 70px; align-items: center; }
.yx-home-v2__consult-layout h2 { margin: 0; color: #493f3e; font: 500 clamp(34px,3.4vw,52px)/1.25 Georgia,"Noto Serif SC",serif; }
.yx-home-v2__consult-layout p:not(.yx-home-v2__eyebrow) { max-width: 700px; margin: 14px 0 0; color: #756a67; }
.yx-home-v2__consult-ribbon .yx-home-v2__eyebrow { color: #a56c73; }
.yx-home-v2__consult-actions { display: grid; gap: 18px; justify-items: start; }
.yx-home-v2__phone { display: grid; color: #3e4a43; text-decoration: none; }
.yx-home-v2__phone small { color: #936f72; font-size: 12px; letter-spacing: .1em; }
.yx-home-v2__phone strong { font: 500 clamp(28px,3vw,42px)/1.2 Georgia,serif; letter-spacing: .04em; }
.yx-home-v2__consult-ribbon .yx-home-v2__button--primary { background: #654c51; color: #fff; }

/* Keep Begin's original About module while pairing it with the original cases background. */
.yx-home-v2__about-original .group-about-bg {
    background-image: var(--yx-about-background) !important;
}

.yx-home-v2__about-original .group-about-dec {
    background: rgba(76, 61, 96, .88) !important;
}
.yx-home-v2__consult-bloom i { position: absolute; z-index: -1; width: 180px; height: 120px; border-radius: 70% 30% 65% 35%; background: linear-gradient(145deg, rgba(255,255,255,.44), rgba(205,145,156,.18)); filter: blur(1px); transform: rotate(var(--r)); }
.yx-home-v2__consult-bloom i:nth-child(1) { --r: 24deg; top: -30px; left: -20px; }
.yx-home-v2__consult-bloom i:nth-child(2) { --r: -32deg; bottom: -45px; left: 12%; }
.yx-home-v2__consult-bloom i:nth-child(3) { --r: 145deg; top: -25px; right: 16%; }
.yx-home-v2__consult-bloom i:nth-child(4) { --r: 70deg; right: -40px; bottom: -25px; }

.yx-home-v2__section--diagnosis {
    background:
        radial-gradient(circle at 85% 20%, rgba(216,165,169,.22), transparent 30%),
        radial-gradient(circle at 4% 90%, rgba(184,173,201,.18), transparent 28%),
        linear-gradient(135deg, #173d33, #273b38 55%, #433a40);
}
.yx-home-v2__diagnosis-fields {
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.1);
    box-shadow: 0 28px 70px rgba(3,18,13,.18);
    backdrop-filter: blur(15px);
}
.yx-home-v2__diagnosis-fields li { transition: transform .3s ease, background .3s ease; }
.yx-home-v2__diagnosis-fields li:hover { background: rgba(255,255,255,.14); transform: translateY(-3px); }

.yx-home-v2__aroma-card { overflow: hidden; box-shadow: 0 22px 45px rgba(71,63,57,.06); transition: transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s ease; }
.yx-home-v2__aroma-card::before { position: absolute; top: -70px; right: -55px; width: 180px; height: 180px; border-radius: 50%; background: rgba(255,255,255,.42); filter: blur(8px); content: ""; transition: transform .55s ease; }
.yx-home-v2__aroma-card:hover { box-shadow: 0 28px 60px rgba(71,63,57,.12); transform: translateY(-8px); }
.yx-home-v2__aroma-card:hover::before { transform: scale(1.24) translate(-8px, 8px); }
.yx-home-v2__aroma-card:nth-child(1) { background: linear-gradient(145deg, #eff4ec, #e5eee7); }
.yx-home-v2__aroma-card:nth-child(2) { background: linear-gradient(145deg, #f8e9e7, #f2dedf); }
.yx-home-v2__aroma-card:nth-child(3) { background: linear-gradient(145deg, #e5e2d9, #d8ddd4); }
.yx-home-v2__aroma-card:nth-child(4) { background: linear-gradient(145deg, #eee5d5, #e8dfd8); }

.yx-home-v2__case { border: 0; border-radius: 0; box-shadow: 0 22px 52px rgba(42,54,48,.08); transition: transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s ease; }
.yx-home-v2__case:hover { box-shadow: 0 30px 68px rgba(42,54,48,.14); transform: translateY(-7px); }
.yx-home-v2__case-media img { transition: transform .8s cubic-bezier(.2,.7,.2,1), filter .5s ease; }
.yx-home-v2__case:hover .yx-home-v2__case-media img { filter: saturate(1.06); transform: scale(1.055); }

.yx-home-v2__brand-story {
    position: relative;
    overflow: hidden;
    padding: 120px 0;
    background:
        radial-gradient(circle at 78% 22%, rgba(236,194,198,.32), transparent 27%),
        radial-gradient(circle at 91% 77%, rgba(213,199,226,.42), transparent 24%),
        linear-gradient(125deg, #f8f1e7 0%, #f4e5e1 52%, #e8e4ec 100%);
    isolation: isolate;
}
.yx-home-v2__brand-layout { display: grid; grid-template-columns: 1.05fr .95fr; gap: 80px; align-items: center; }
.yx-home-v2__brand-copy { max-width: 690px; }
.yx-home-v2__brand-copy .yx-home-v2__eyebrow { color: #a86f78; }
.yx-home-v2__brand-copy h2 { margin: 0; color: #493d3d; font: 500 clamp(40px,4.2vw,64px)/1.18 Georgia,"Noto Serif SC",serif; }
.yx-home-v2__brand-copy > p:not(.yx-home-v2__eyebrow) { margin: 20px 0 0; color: #6f6463; font-size: 17px; line-height: 1.95; }
.yx-home-v2__brand-contact { display: flex; flex-wrap: wrap; gap: 10px 26px; align-items: center; margin-top: 34px; }
.yx-home-v2__brand-contact span { color: #9e7477; font-size: 12px; letter-spacing: .12em; }
.yx-home-v2__brand-contact a { color: #394c44; font: 500 22px Georgia,serif; text-decoration: none; }
.yx-home-v2__brand-visual { position: relative; min-height: 460px; display: grid; place-items: center; }
.yx-home-v2__brand-photo { position: absolute; inset: 7% 3% 8% 6%; width: 91%; height: 85%; object-fit: cover; border-radius: 46% 54% 42% 58% / 52% 42% 58% 48%; filter: saturate(.72) contrast(.92); opacity: .2; mix-blend-mode: multiply; }
.yx-home-v2__brand-visual::before { position: absolute; width: min(420px,80%); aspect-ratio: 1; border: 1px solid rgba(255,255,255,.72); border-radius: 50%; background: rgba(255,255,255,.24); box-shadow: inset 0 0 80px rgba(255,255,255,.36), 0 34px 90px rgba(114,83,93,.12); content: ""; backdrop-filter: blur(12px); }
.yx-home-v2__brand-visual > p { position: absolute; right: 2%; bottom: 7%; margin: 0; color: #765d63; font: italic 24px/1.5 Georgia,"Noto Serif SC",serif; text-align: right; }
.yx-home-v2__brand-visual > p small { font: 12px/1.5 sans-serif; letter-spacing: .1em; }
.yx-home-v2__bottle { position: relative; z-index: 2; width: 112px; height: 210px; border: 1px solid rgba(113,75,69,.25); border-radius: 46px 46px 26px 26px; background: linear-gradient(115deg, rgba(255,255,255,.68), rgba(222,174,143,.42) 52%, rgba(142,92,75,.45)); box-shadow: inset 12px 0 20px rgba(255,255,255,.34), 0 28px 48px rgba(100,72,69,.18); transform: translateY(-20px); }
.yx-home-v2__bottle::before { position: absolute; top: -47px; left: 34px; width: 44px; height: 52px; border-radius: 5px 5px 0 0; background: linear-gradient(90deg,#b99a79,#ead2a9,#9f7c5f); content: ""; }
.yx-home-v2__bottle i { position: absolute; top: 78px; left: -1px; width: 112px; height: 1px; background: rgba(255,255,255,.6); }
.yx-home-v2__bottle span { position: absolute; top: 96px; left: 24px; width: 64px; height: 45px; border-top: 1px solid rgba(104,72,65,.35); border-bottom: 1px solid rgba(104,72,65,.35); }
.yx-home-v2__petal { position: absolute; z-index: 1; width: 130px; height: 88px; border-radius: 72% 28% 68% 32%; background: linear-gradient(145deg, rgba(255,255,255,.75), rgba(208,137,150,.38)); box-shadow: 0 20px 45px rgba(125,83,95,.1); }
.yx-home-v2__petal--one { top: 10%; left: 15%; transform: rotate(24deg); animation: yx-petal-one 9s ease-in-out infinite alternate; }
.yx-home-v2__petal--two { top: 32%; right: 8%; transform: rotate(140deg) scale(.8); animation: yx-petal-two 11s ease-in-out infinite alternate; }
.yx-home-v2__petal--three { bottom: 15%; left: 22%; transform: rotate(-35deg) scale(.65); animation: yx-petal-one 13s ease-in-out infinite alternate-reverse; }
.yx-home-v2__brand-glow span { position: absolute; z-index: -1; width: 7px; height: 7px; border-radius: 50%; background: rgba(255,255,255,.85); box-shadow: 0 0 40px 16px rgba(255,223,198,.3); animation: yx-pollen-drift 16s linear infinite; }
.yx-home-v2__brand-glow span:nth-child(1) { top: 18%; left: 65%; }
.yx-home-v2__brand-glow span:nth-child(2) { top: 62%; left: 82%; animation-delay: -6s; }
.yx-home-v2__brand-glow span:nth-child(3) { top: 48%; left: 10%; animation-delay: -11s; }

[data-yx-reveal] { opacity: 0; transform: translateY(34px); transition: opacity .85s ease, transform .85s cubic-bezier(.2,.7,.2,1); }
[data-yx-reveal].is-visible { opacity: 1; transform: translateY(0); }
[data-yx-reveal-delay="1"] { transition-delay: .08s; }
[data-yx-reveal-delay="2"] { transition-delay: .16s; }
[data-yx-reveal-delay="3"] { transition-delay: .24s; }

@keyframes yx-scent-float { from { opacity:.5; transform:translate3d(0,0,0) rotate(-4deg); } to { opacity:.9; transform:translate3d(-24px,18px,0) rotate(6deg); } }
@keyframes yx-pollen-drift { 0% { opacity:0; transform:translate3d(0,35px,0) scale(.5); } 25% { opacity:.9; } 75% { opacity:.55; } 100% { opacity:0; transform:translate3d(38px,-110px,0) scale(1.25); } }
@keyframes yx-scroll-line { 0% { transform:translateY(-110%); } 55%,100% { transform:translateY(240%); } }
@keyframes yx-light-pass { 0%,35% { transform:translateX(-85%); } 70%,100% { transform:translateX(90%); } }
@keyframes yx-petal-one { from { transform:translate3d(0,0,0) rotate(24deg); } to { transform:translate3d(18px,-15px,0) rotate(33deg); } }
@keyframes yx-petal-two { from { transform:translate3d(0,0,0) rotate(140deg) scale(.8); } to { transform:translate3d(-18px,18px,0) rotate(128deg) scale(.86); } }

@media (max-width: 980px) {
    .yx-home-v2__consult-layout,
    .yx-home-v2__brand-layout { grid-template-columns: 1fr; gap: 44px; }
    .yx-home-v2__brand-visual { min-height: 380px; }
}

@media (max-width: 620px) {
    .yx-home-v2__hero { min-height: 790px; }
    .yx-home-v2__hero::after { background: linear-gradient(180deg, rgba(30,42,36,.2) 0%, rgba(24,45,38,.72) 44%, rgba(20,39,33,.96) 100%); }
    .yx-home-v2__scent-air span:nth-child(1) { right: -35%; width: 230px; height: 170px; }
    .yx-home-v2__scent-air span:nth-child(2) { right: 4%; opacity: .45; }
    .yx-home-v2__scroll-cue { display: none; }
    .yx-home-v2__consult-ribbon { padding: 62px 0; }
    .yx-home-v2__consult-layout { gap: 30px; }
    .yx-home-v2__consult-actions { width: 100%; }
    .yx-home-v2__consult-actions .yx-home-v2__button { width: 100%; }
    .yx-home-v2__phone strong { font-size: 31px; }
    .yx-home-v2__brand-story { padding: 78px 0; }
    .yx-home-v2__brand-copy > p:not(.yx-home-v2__eyebrow) { font-size: 15px; }
    .yx-home-v2__brand-contact { display: grid; gap: 7px; }
    .yx-home-v2__brand-visual { min-height: 330px; }
    .yx-home-v2__brand-visual::before { width: 280px; }
    .yx-home-v2__bottle { transform: scale(.82) translateY(-15px); }
    .yx-home-v2__petal { width: 98px; height: 66px; }
    .yx-home-v2__brand-visual > p { right: 0; bottom: 1%; font-size: 18px; }
}

@media (prefers-reduced-motion: reduce) {
    .yx-home-v2 *,
    .yx-home-v2 *::before,
    .yx-home-v2 *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    [data-yx-reveal] { opacity: 1; transform: none; }
}
