/*
Theme Name: Yangyuanquan
Theme URI: http://demo.umoban.cn/demo/9235/index.html
Author: Antigravity
Author URI: https://github.com/google-deepmind
Description: Professional Lead-Generation WordPress Theme restored from Yangyuanquan demo.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: yangyuanquan
Tags: custom-menu, featured-images, translation-ready
*/

/* ===== WordPress Overrides & Pixel-Perfect Fixes ===== */

/* Fix admin bar offset for sticky header */
.admin-bar .header-section.sticky {
    top: 32px !important;
}

/* Header should be transparent and overlay the hero */
.header-section {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 999;
    background: transparent !important;
    padding: 20px 0;
}

/* Header Section */
.header-section {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
    background: #fff !important; /* Always white background */
    transition: all 0.3s ease;
    padding: 15px 0;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

.header-section .main-menu ul li a {
    color: #10213e !important; /* Dark color for white bg */
}

/* Logo visibility fixes - ensured visible on white background */
.header-section .logo a.active {
    display: block !important;
}
.header-section .logo a.active-sticky {
    display: none !important;
}

/* When sticky (scrolled) */
.header-section.sticky {
    padding: 10px 0;
    background: #fff !important;
    position: fixed !important;
    top: 0 !important;
    box-shadow: 0 2px 15px rgba(0,0,0,0.1);
}

.header-section.sticky .main-menu ul li a {
    color: #10213e !important;
}

/* Keep logo1 (active) visible even in sticky mode because we are always on white */
.header-section.sticky .logo a.active {
    display: block !important;
}
.header-section.sticky .logo a.active-sticky {
    display: none !important;
}


/* Desktop Dropdown Robust Fix */
.main-menu ul li {
    position: relative;
}

.main-menu ul li .sub-menu {
    position: absolute;
    top: 100% !important;
    left: 0;
    width: 230px;
    background: #fff !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease-in-out;
    z-index: 10000 !important;
    padding: 15px 0;
    border-top: 3px solid #1e56a0;
    display: block !important;
    transform: translateY(10px);
}

.main-menu ul li:hover > .sub-menu {
    top: 60px !important; /* Move it up into view */
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0);
}

.main-menu ul li .sub-menu li {
    display: block !important;
    margin: 0;
}

.main-menu ul li .sub-menu li a {
    padding: 10px 25px !important;
    color: #333 !important;
    display: block !important;
    text-align: left;
    font-weight: 500;
    background: none !important;
}

.main-menu ul li .sub-menu li a:hover {
    color: #1e56a0 !important;
    background: #f8faff !important;
}

/* Mobile Sticky Consistency */
@media (max-width: 991px) {
    .header-section.sticky {
        display: none !important; /* Hide desktop header on mobile/tablet even if sticky */
    }
}


/* Hero section: ensure full height and centered text like demo */
.slider-section {
    position: relative;
    z-index: 1;
}

.slider-section .slider-content {
    text-align: center;
}

.slider-section .slider-main-title h1 {
    color: #fff !important;
    font-size: 55px;
    font-weight: 800;
    line-height: 1.3;
}

.slider-section .slider-description p {
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 16px;
    max-width: 600px;
    margin: 15px auto 30px;
}

.slider-section .slider-button a {
    display: inline-block;
    background: #fff;
    color: #1e56a0;
    padding: 14px 35px;
    border-radius: 30px;
    font-weight: 600;
    font-size: 16px;
    letter-spacing: 0.5px;
    text-transform: capitalize;
    transition: .5s;
    border: 2px solid #fff;
}

.slider-section .slider-button a:hover {
    background: transparent;
    color: #fff;
}

.slider-section .slider-video-button {
    display: inline-block;
    margin-left: 15px;
    vertical-align: middle;
}

.slider-section .slider-video-button a {
    display: inline-flex;
    width: 55px;
    height: 55px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    border: 2px solid rgba(255, 255, 255, 0.5);
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 16px;
    transition: .5s;
}

.slider-section .slider-video-button a:hover {
    background: #fff;
    color: #1e56a0;
}

/* Button and video side by side in hero */
.slider-section .slider-button {
    display: inline-block;
}

/* Fix mobile menu visibility */
.mobile-menu-area {
    display: none;
}
@media (max-width: 991px) {
    .mobile-menu-area {
        display: block;
    }
}

/* Scroll-to-top visibility fix */
.scroll-area .go-top {
    cursor: pointer;
}

/* WP admin bar spacing for mobile menu */
@media (max-width: 782px) {
    .admin-bar .header-section.sticky {
        top: 46px !important;
    }
}

/* Ensure footer logo is centered */
.fotter-logo img {
    max-width: 180px;
}

/* Official Yangyuanquan Cinematic Full-Frame Hero Area */
.breadcrumb-area {
    min-height: 520px !important; /* Cinematic Full-Frame Height */
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    z-index: 1;
    text-align: left;
    padding: 190px 0 160px !important; /* Cinematic Visual Padding */
}

.breadcrumb-area::before {
    position: absolute !important;
    content: "" !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(12, 90, 219, 0.85) !important; /* Official Deep Blue Overlay */
    z-index: -1 !important;
}

.breadcrumb-title h1 {
    color: #fff !important;
    font-size: 55px !important; /* Official Demo Size */
    font-weight: 800 !important;
    margin-bottom: 25px !important; /* Official Demo Spacing */
    text-transform: capitalize !important;
}

.breadcrumb-content-text a,
.breadcrumb-content-text span {
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
}

.breadcrumb-content-text a:hover {
    color: #1781f1 !important;
}

.breadcrumb-area .breadcrumb-content-text i {
    color: #fff !important; /* Pure White as requested */
    margin: 0 12px !important;
    font-weight: 900 !important;
    font-size: 16px !important;
}

/* Team Section Enhancements */
.single-team-box {
    background: #fff;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 30px;
    transition: .5s;
}

.team-thumb {
    position: relative;
}

.team-social-icon {
    position: absolute;
    bottom: 20px;
    left: 0;
    right: 0;
    text-align: center;
}

.team-social-icon ul li {
    display: inline-block;
    margin: 0 5px;
}

.team-social-icon ul li a {
    width: 35px;
    height: 35px;
    background: #fff;
    color: #1e56a0;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    transition: .5s;
}

.team-social-icon ul li a:hover {
    background: #1e56a0;
    color: #fff;
}

.team-name-title {
    padding: 20px;
    text-align: center;
}

.team-name-title h3 {
    font-size: 20px;
    font-weight: 700;
}

/* Service Preview Area (fix typo 'servoce' from demo) */
.servoce-single-box, .service-single-box {
    background: #fff;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 30px;
}

.service-thumb img {
    width: 100%;
}

.service-content {
    padding: 25px;
}

.service-title h3 a {
    font-size: 22px;
    font-weight: 700;
    color: #10213e;
}

.service-button a {
    color: #1e56a0;
    font-weight: 600;
    text-decoration: underline;
}

.testimonial-section {
    background: #f8faff;
    padding: 100px 0;
}

/* FAQ Page Styles */
.faq-overview {
    padding: 100px 0;
}

.faq-section {
    padding: 120px 0;
    overflow: hidden;
}

/* Accordion */
.feq-content {
    margin-top: 40px;
}

.accordion {
    padding: 0;
    list-style: none;
}

.accordion li {
    margin-bottom: 20px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 5px;
    overflow: hidden;
}

.accordion li a {
    display: block;
    padding: 20px 25px;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    position: relative;
    cursor: pointer;
    transition: .5s;
}

.accordion li {
    position: relative !important;
    background: none !important;
    border: none !important;
}

.accordion li::before {
    content: "" !important;
    position: absolute !important;
    right: 21px !important;
    top: 16px !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.15) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    z-index: 5 !important;
    display: block !important;
}

.accordion li a::before, 
.accordion li a::after,
.accordion li a span::before,
.accordion li a span::after {
    content: none !important;
    display: none !important;
}

.accordion li a .faq-icon {
    position: absolute !important;
    right: 20px !important;
    top: 14px !important;
    width: 28px !important;
    height: 28px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    font-style: normal !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    z-index: 10 !important;
    pointer-events: none !important;
}

.accordion li a .faq-icon::after {
    content: "+" !important;
    margin: 0 !important;
    line-height: 1 !important;
}

.accordion li a.active .faq-icon::after {
    content: "-" !important;
    margin: 0 !important;
    line-height: 1 !important;
}

.accordion li p {
    padding: 0 25px 20px;
    color: #cbd3e1;
    margin: 0;
    display: none; /* Controlled by theme.js */
}

/* Consultant Form Container */
.faq-single-box {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    margin-left: 30px;
    position: relative;
}

.faq-shape {
    position: absolute;
    top: 130px;
    left: 0;
    width: 100%;
    z-index: 10;
}

.faq-shape img {
    width: 100%;
}

.faq-form-title {
    background: #2483d7;
    padding: 50px 40px 40px;
    text-align: left;
    position: relative;
}

.faq-form-title::after {
    content: "" !important;
    position: absolute !important;
    bottom: -10px !important;
    left: 0 !important;
    width: 100% !important;
    height: 10px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 10'%3E%3Cpolygon points='0,0 20,0 10,10' fill='%232483d7'/%3E%3C/svg%3E") !important;
    background-repeat: repeat-x !important;
    background-size: 20px 10px !important;
    z-index: 10 !important;
}

.faq-form-title h3 {
    color: #fff;
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 5px;
}

.faq-form-title p {
    color: #fff;
    opacity: 0.8;
    margin: 0;
}

.faq-form-box {
    padding: 0;
}

#yangyuanquan-form {
    padding: 30px 40px 40px;
}

.from-box input, .from-box textarea {
    width: 100%;
    border: 1px solid #e1e7f1;
    background: #f8faff;
    padding: 15px 20px;
    border-radius: 5px;
    margin-bottom: 20px;
    transition: .5s;
}

.from-box input:focus, .from-box textarea:focus {
    border-color: #1e56a0;
    outline: none;
}

.from-btn button {
    width: 100%;
    background: #1e56a0;
    color: #fff;
    padding: 15px;
    font-weight: 700;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    transition: .5s;
}

.from-btn button:hover {
    background: #10213e;
}

/* Responsive */
@media (max-width: 991px) {
    .faq-single-box {
        margin-left: 0;
        margin-top: 50px;
    }
}

/* Blog Styles */
.blog-section {
    padding: 100px 0;
}

.blog-single-box {
    background: #fff;
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.05);
    border-radius: 10px;
    overflow: hidden;
    height: 100%;
}

.blog-thumb img {
    width: 100%;
    transition: 0.5s;
}

.blog-single-box:hover .blog-thumb img {
    transform: scale(1.1);
}

.blog-content {
    padding: 30px;
}

.blog-title h3 {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 20px;
}

.blog-title h3 a {
    color: #10213e;
    transition: 0.3s;
}

.blog-title h3 a:hover {
    color: #1e56a0;
}

.blog-descripton p {
    color: #666;
    margin-bottom: 25px;
}

.blog-bottom a {
    color: #1e56a0;
    font-weight: 700;
    transition: 0.3s;
    text-transform: uppercase;
}

.blog-bottom a:hover {
    color: #10213e;
}

/* Sidebar Styling */
.sidebar-wrapper {
    margin-left: 20px;
}

.widget-sidebar-box {
    background: #fff;
    box-shadow: 0 0 30px rgba(0,0,0,0.05);
    padding: 30px;
    margin-bottom: 30px;
    border-radius: 5px;
}

.widget-sidebar-title {
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 2px solid #f1f5fb;
    position: relative;
}

.widget-sidebar-title h4 {
    font-size: 22px;
    font-weight: 700;
    color: #10213e;
}

.widget-sidebar-title::after {
    position: absolute;
    content: "";
    left: 0;
    bottom: -2px;
    width: 50px;
    height: 2px;
    background: #1e56a0;
}

.widget-sidebar-box ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

.widget-sidebar-box ul li {
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #f1f5fb;
}

.widget-sidebar-box ul li:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.widget-sidebar-box ul li a {
    color: #555;
    transition: 0.3s;
    display: flex;
    justify-content: space-between;
}

.widget-sidebar-box ul li a:hover {
    color: #1e56a0;
    padding-left: 5px;
}

/* Pagination */
.pagination-wrapper {
    text-align: center;
}

.pagination .page-numbers {
    width: 45px;
    height: 45px;
    line-height: 45px;
    display: inline-block;
    background: #fff;
    border: 1px solid #e1e7f1;
    color: #10213e;
    margin: 0 5px;
    border-radius: 5px;
    transition: 0.3s;
}

.pagination .page-numbers.current, .pagination .page-numbers:hover {
    background: #1e56a0;
    color: #fff;
    border-color: #1e56a0;
}

/* Single Post Area */
.blog-meta {
    font-size: 14px;
    color: #666;
}

.blog-meta i {
    color: #1e56a0;
}

.blog-details {
    line-height: 1.8;
}

.blog-details p {
    margin-bottom: 20px;
}

@media (max-width: 991px) {
    .sidebar-wrapper {
        margin-left: 0;
        margin-top: 50px;
    }
}

/* Contact Styles */
.contact-address-area {
    padding: 100px 0;
}

.single-contact-info-box {
    display: flex;
    align-items: center;
    background: #f1f5fb;
    padding: 30px;
    border-left: 5px solid #1e56a0;
    margin-bottom: 25px;
    border-radius: 5px;
}

.contact-info-icon {
    width: 60px;
    height: 60px;
    background: #1e56a0;
    color: #fff;
    font-size: 24px;
    line-height: 60px;
    text-align: center;
    border-radius: 50%;
    margin-right: 20px;
    flex-shrink: 0;
}

.contact-info-content h4 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 5px;
    color: #10213e;
}

.contact-info-content p {
    margin: 0;
    color: #666;
}

/* Contact Form Box */
.contact-form-box {
    background: #fff;
    box-shadow: 0 0 50px rgba(0, 0, 0, 0.05);
    padding: 50px;
    border-radius: 10px;
}

.contact-form-box .from-box input,
.contact-form-box .from-box select,
.contact-form-box .from-box textarea {
    width: 100%;
    background: #f1f5fb;
    border: 1px solid #e1e7f1;
    padding: 15px 20px;
    margin-bottom: 20px;
    border-radius: 5px;
}

.contact-form-box .from-btn button {
    background: #1e56a0;
    color: #fff;
    padding: 15px 40px;
    font-weight: 700;
    border-radius: 30px;
    transition: 0.3s;
}

.contact-form-box .from-btn button:hover {
    background: #10213e;
}

/* Google Map */
.google-map-area iframe {
    width: 100%;
    height: 500px;
    display: block;
}

@media (max-width: 991px) {
    .contact-form-box {
        margin-top: 50px;
    }
}





/* Hero Slider Styles */
.slider-area { position: relative; overflow: hidden; }
.slider-section { background-size: cover; background-position: center center; background-repeat: no-repeat; width: 100%; }
.slider-list.owl-carousel .owl-dots { position: absolute; bottom: 30px; width: 100%; text-align: center; z-index: 10; }
.slider-list.owl-carousel .owl-dot { display: inline-block; margin: 0 5px; }
.slider-list.owl-carousel .owl-dot span { width: 12px; height: 12px; background: rgba(255, 255, 255, 0.5); display: block; border-radius: 50%; transition: all 0.3s ease; }
.slider-list.owl-carousel .owl-dot.active span { background: #2488f2; transform: scale(1.2); }

/* ========================================================================== */
/* 养源全：首页                                                               */
/* ========================================================================== */
:root {
    --yy-ink: #24382c;
    --yy-paper: #f6f2e9;
    --yy-paper-deep: #ebe3d4;
    --yy-gold: #b28a4b;
    --yy-muted: #687167;
    --yy-serif: "Noto Serif SC", "Songti SC", STSong, serif;
    --yy-sans: "Noto Sans SC", "Microsoft YaHei", Arial, sans-serif;
}

html { scroll-behavior: smooth; }
.yy-home { color: var(--yy-ink); font-family: var(--yy-sans); overflow: hidden; background: var(--yy-paper); }
.yy-home h1, .yy-home h2, .yy-home h3, .yy-home p { margin-top: 0; }
.yy-home h1, .yy-home h2, .yy-home h3 { font-family: var(--yy-serif); color: var(--yy-ink); }
.yy-home p { line-height: 1.85; }
.yy-eyebrow { margin-bottom: 18px; color: var(--yy-gold); font-size: 13px; font-weight: 700; letter-spacing: .24em; }
.yy-eyebrow::before { content: ""; display: inline-block; width: 26px; height: 1px; margin: 0 10px 4px 0; background: currentColor; }
.yy-button { display: inline-flex; align-items: center; gap: 17px; min-height: 52px; padding: 0 25px; font-size: 14px; font-weight: 700; letter-spacing: .06em; text-decoration: none; transition: transform .25s ease, background .25s ease, color .25s ease; }
.yy-button:hover { transform: translateY(-3px); }
.yy-button--primary { color: #fff; background: var(--yy-ink); }
.yy-button--primary:hover { color: #fff; background: #385544; }
.yy-button--text { min-height: auto; padding: 12px 0; color: var(--yy-ink); border-bottom: 1px solid var(--yy-ink); }
.yy-button--text:hover { color: var(--yy-gold); border-color: var(--yy-gold); }
.yy-button--dark { color: var(--yy-ink); background: #f5f1e7; }
.yy-button--dark:hover { color: #fff; background: var(--yy-gold); }

/* Header gets a temporary text brand until the supplied logo is available. */
.home .header-section { background: rgba(246, 242, 233, .96) !important; box-shadow: none; border-bottom: 1px solid rgba(36, 56, 44, .1); }
.home .header-section .logo a.active { position: relative; width: 158px; height: 42px; }
.home .header-section .logo a.active img { opacity: 0; }
.home .header-section .logo a.active::after { content: "养源全\A双养五行"; position: absolute; top: 1px; left: 0; white-space: pre; color: var(--yy-ink); font-family: var(--yy-serif); font-size: 20px; font-weight: 700; line-height: .95; letter-spacing: .1em; }
.home .header-section .main-menu ul li a { color: var(--yy-ink) !important; font-size: 14px; }
.home .header-section .header-menu-btn a { background: var(--yy-ink); border-radius: 0; color: #fff; }
.home .footer-section .fotter-logo a { position: relative; display: block; min-height: 48px; }
.home .footer-section .fotter-logo img { opacity: 0; }
.home .footer-section .fotter-logo a::after { content: "养源全\A双养五行"; position: absolute; top: 0; left: 50%; color: #f0eadf; font-family: var(--yy-serif); font-size: 23px; font-weight: 700; line-height: .95; letter-spacing: .12em; text-align: left; transform: translateX(-50%); white-space: pre; }

.yy-hero { position: relative; min-height: 780px; padding: 210px 0 110px; overflow: hidden; background: radial-gradient(circle at 78% 35%, rgba(190, 159, 88, .25), transparent 19%), radial-gradient(circle at 16% 80%, rgba(96, 128, 102, .15), transparent 25%), var(--yy-paper); }
.yy-hero::before { content: ""; position: absolute; inset: 0; opacity: .23; background-image: linear-gradient(120deg, transparent 49.5%, rgba(36, 56, 44, .14) 50%, transparent 50.5%), linear-gradient(60deg, transparent 49.5%, rgba(36, 56, 44, .1) 50%, transparent 50.5%); background-size: 64px 110px; mask-image: linear-gradient(to bottom, #000, transparent 90%); }
.yy-hero .container { position: relative; min-height: 460px; }
.yy-hero__content { position: relative; z-index: 2; max-width: 670px; }
.yy-hero h1 { margin-bottom: 28px; font-size: clamp(48px, 6vw, 82px); font-weight: 700; line-height: 1.18; letter-spacing: .08em; }
.yy-hero h1 em { color: var(--yy-gold); font-style: normal; }
.yy-hero__lead { margin-bottom: 36px; color: #526054; font-size: 17px; }
.yy-hero__sublead { max-width: 560px; margin: -17px 0 34px; color: #415146; font-size: 14px; line-height: 1.9; }
.yy-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }
.yy-hero__seal { position: absolute; z-index: 1; top: 10px; right: 4%; width: min(35vw, 420px); aspect-ratio: 1; border: 1px solid rgba(36, 56, 44, .25); border-radius: 50%; animation: yy-spin 45s linear infinite; }
.yy-hero__seal::before, .yy-hero__seal::after { content: ""; position: absolute; inset: 12%; border: 1px solid rgba(178, 138, 75, .42); border-radius: 50%; }
.yy-hero__seal::after { inset: 32%; border-color: rgba(36, 56, 44, .22); }
.yy-hero__seal span { position: absolute; display: grid; width: 55px; aspect-ratio: 1; place-items: center; border-radius: 50%; color: #fff; font-family: var(--yy-serif); font-size: 22px; animation: yy-spin-reverse 45s linear infinite; }
.yy-hero__seal span:nth-of-type(1) { top: 0; left: calc(50% - 27px); background: #52755d; }
.yy-hero__seal span:nth-of-type(2) { top: 31%; right: 2%; background: #a95b48; }
.yy-hero__seal span:nth-of-type(3) { right: 14%; bottom: 7%; background: #bc994b; }
.yy-hero__seal span:nth-of-type(4) { bottom: 7%; left: 14%; color: #706e62; background: #e8e1d1; }
.yy-hero__seal span:nth-of-type(5) { top: 31%; left: 2%; background: #263f38; }
.yy-hero__seal strong { position: absolute; top: 41%; left: 41%; color: var(--yy-ink); font-family: var(--yy-serif); font-size: 27px; line-height: 1.1; letter-spacing: .2em; animation: yy-spin-reverse 45s linear infinite; }
.yy-hero__orb { position: absolute; border-radius: 50%; filter: blur(1px); }
.yy-hero__orb--one { right: -7%; bottom: -180px; width: 560px; height: 560px; background: rgba(178, 138, 75, .09); }
.yy-hero__orb--two { top: 45%; left: -120px; width: 280px; height: 280px; border: 1px solid rgba(36, 56, 44, .15); }
.yy-hero__scroll { position: absolute; right: 5%; bottom: 38px; color: #687167; font-size: 12px; letter-spacing: .18em; writing-mode: vertical-rl; }
.yy-hero__scroll span { display: inline-block; width: 1px; height: 50px; margin-top: 12px; background: var(--yy-gold); }
@keyframes yy-spin { to { transform: rotate(360deg); } }
@keyframes yy-spin-reverse { to { transform: rotate(-360deg); } }

.yy-intro { padding: 27px 0; color: #ece5d8; background: var(--yy-ink); }
.yy-intro .container { display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.yy-intro p { margin: 0; font-family: var(--yy-serif); font-size: 18px; letter-spacing: .13em; }
.yy-intro span { color: #bba777; font-size: 12px; letter-spacing: .24em; }

.yy-products { padding: 135px 0 145px; }
.yy-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 50px; margin-bottom: 56px; }
.yy-section-heading h2, .yy-dual h2, .yy-cycle h2, .yy-moment h2, .yy-contact h2 { margin-bottom: 0; font-size: clamp(34px, 4vw, 53px); line-height: 1.25; letter-spacing: .06em; }
.yy-section-heading > p { max-width: 440px; margin: 0; color: var(--yy-muted); font-size: 15px; }
.yy-product-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 15px; }
.yy-product-card { position: relative; min-height: 490px; padding: 23px; overflow: hidden; color: #fff; transition: transform .35s ease, box-shadow .35s ease; }
.yy-product-card:hover { z-index: 2; transform: translateY(-10px); box-shadow: 0 24px 40px rgba(36, 56, 44, .2); }
.yy-product-card--wood { background: linear-gradient(to top, rgba(26, 54, 35, .96) 0%, rgba(26, 54, 35, .62) 36%, rgba(26, 54, 35, .04) 74%), #53755e url('assets/images/yangyuanquan/green-rhythm.webp') center / cover no-repeat; }.yy-product-card--fire { background: linear-gradient(to top, rgba(111, 29, 23, .96) 0%, rgba(111, 29, 23, .62) 36%, rgba(111, 29, 23, .04) 74%), #a95b48 url('assets/images/yangyuanquan/red-glow.webp') center / cover no-repeat; }.yy-product-card--earth { background: linear-gradient(to top, rgba(101, 66, 21, .97) 0%, rgba(101, 66, 21, .6) 36%, rgba(101, 66, 21, .04) 74%), #b4944d url('assets/images/yangyuanquan/yellow-harmony.webp') center / cover no-repeat; }.yy-product-card--metal { color: #fff; background: linear-gradient(to top, rgba(91, 67, 34, .96) 0%, rgba(91, 67, 34, .55) 36%, rgba(91, 67, 34, .02) 74%), #ddd6c5 url('assets/images/yangyuanquan/white-clear.webp') center / cover no-repeat; }.yy-product-card--water { background: linear-gradient(to top, rgba(13, 31, 31, .97) 0%, rgba(13, 31, 31, .58) 36%, rgba(13, 31, 31, .04) 74%), #253f38 url('assets/images/yangyuanquan/black-run.webp') center / cover no-repeat; }
.yy-product-card::before { content: ""; position: absolute; top: -105px; left: -60px; width: 250px; height: 250px; border: 1px solid rgba(255, 255, 255, .28); border-radius: 50%; }
.yy-product-card__top { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; }
.yy-product-card__top span { font-family: var(--yy-serif); font-size: 28px; }.yy-product-card__top small { font-size: 10px; letter-spacing: .16em; opacity: .82; }
.yy-product-card__circle { position: absolute; top: 110px; right: -23px; width: 190px; height: 190px; border: 1px solid rgba(255, 255, 255, .35); border-radius: 50%; }
.yy-product-card__circle i { position: absolute; top: 18px; left: 18px; width: 150px; height: 150px; border: 16px solid rgba(255, 255, 255, .13); border-radius: 50%; }
.yy-product-card__content { position: absolute; right: 23px; bottom: 26px; left: 23px; z-index: 1; }
.yy-product-card h3 { margin-bottom: 8px; color: currentColor; font-size: 26px; }.yy-product-card__content p { margin-bottom: 12px; font-size: 13px; line-height: 1.7; }.yy-product-card__slogan { font-weight: 700; letter-spacing: .04em; }.yy-product-card__content a { color: currentColor; font-size: 12px; font-weight: 700; text-decoration: none; border-bottom: 1px solid currentColor; }.yy-product-card__content a span { margin-left: 8px; }

.yy-dual { padding: 125px 0; background: #eee7da; }.yy-dual__visual { position: relative; min-height: 480px; overflow: hidden; background: var(--yy-ink); }.yy-dual__visual::after { content: ""; position: absolute; right: -17%; bottom: -24%; width: 72%; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; }.yy-dual__leaf { position: absolute; width: 180px; height: 350px; border: 1px solid rgba(255,255,255,.35); border-radius: 100% 0 100% 0; transform: rotate(38deg); }.yy-dual__leaf--one { top: 28px; right: 14%; }.yy-dual__leaf--two { right: 35%; bottom: -130px; transform: rotate(220deg); }.yy-dual__visual p { position: absolute; z-index: 1; right: 12%; bottom: 45px; margin: 0; color: #fff; font-family: var(--yy-serif); font-size: 62px; line-height: .9; letter-spacing: .12em; }.yy-dual__visual p span { color: #c2a66b; font-size: 22px; }.yy-dual__content { max-width: 555px; margin-left: auto; }.yy-dual__lead { margin: 26px 0 32px; color: var(--yy-muted); font-size: 16px; }.yy-dual__points { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }.yy-dual__points > div { padding-top: 17px; border-top: 1px solid rgba(36,56,44,.25); }.yy-dual__points span { color: var(--yy-gold); font-size: 12px; letter-spacing: .1em; }.yy-dual__points h3 { margin: 8px 0 7px; font-size: 23px; }.yy-dual__points p { margin: 0; color: var(--yy-muted); font-size: 13px; }

.yy-cycle { padding: 135px 0; color: #f0eadf; background: var(--yy-ink); }.yy-cycle h2 { color: #fff; }.yy-cycle__header { max-width: 630px; }.yy-cycle__layout { display: grid; grid-template-columns: minmax(360px, 1fr) minmax(300px, .8fr); align-items: center; gap: 12%; margin-top: 75px; }.yy-cycle__diagram { position: relative; width: min(100%, 430px); aspect-ratio: 1; margin: auto; border: 1px solid rgba(255,255,255,.26); border-radius: 50%; }.yy-cycle__diagram::before, .yy-cycle__diagram::after { content: ""; position: absolute; inset: 11%; border: 1px solid rgba(196,165,102,.65); border-radius: 50%; }.yy-cycle__diagram::after { inset: 31%; border-color: rgba(255,255,255,.25); }.yy-cycle__node { position: absolute; z-index: 1; display: grid; width: 70px; aspect-ratio: 1; place-content: center; border-radius: 50%; color: #fff; font-family: var(--yy-serif); font-size: 27px; text-align: center; }.yy-cycle__node small { margin-top: -2px; font-family: var(--yy-sans); font-size: 11px; }.yy-cycle__node--wood { top: -13px; left: calc(50% - 35px); background: #557b62; }.yy-cycle__node--fire { top: 30%; right: -19px; background: #ab5b4a; }.yy-cycle__node--earth { right: 12%; bottom: 2%; background: #b79445; }.yy-cycle__node--metal { bottom: 2%; left: 12%; color: #5b5a51; background: #e6dfd0; }.yy-cycle__node--water { top: 30%; left: -19px; background: #101e20; }.yy-cycle__diagram strong { position: absolute; top: 41%; left: 39%; color: #d4bd87; font-family: var(--yy-serif); font-size: 27px; line-height: 1.1; letter-spacing: .1em; text-align: center; }.yy-cycle__copy p { margin-bottom: 21px; color: #d4d8d1; font-size: 16px; }.yy-cycle__copy .yy-button { margin-top: 15px; }

.yy-moment { padding: 110px 0; background: var(--yy-paper); }.yy-moment__box { display: flex; align-items: end; justify-content: space-between; gap: 60px; min-height: 330px; padding: 67px 8%; background: linear-gradient(110deg, rgba(243,237,226,.97), rgba(243,237,226,.65)), radial-gradient(circle at 80% 20%, #b7c9ac 0, #8fa281 18%, #435d43 19%, #24382c 61%); }.yy-moment__box > p { max-width: 350px; margin: 0; color: #59655b; font-size: 15px; }
.yy-contact { padding: 130px 0; text-align: center; background: #dfd4c0; }.yy-contact__inner { max-width: 760px; margin: auto; }.yy-contact .yy-eyebrow { color: #8e6d38; }.yy-contact h2 { margin-bottom: 17px; }.yy-contact__inner > p:not(.yy-eyebrow) { margin-bottom: 28px; color: #5d665d; }.yy-disclaimer { padding: 18px 0; color: #eee8dc; background: #1d3025; }.yy-disclaimer p { margin: 0; font-size: 12px; line-height: 1.7; text-align: center; }.yy-disclaimer strong { color: #d2b36e; }

@media (max-width: 1199px) { .yy-product-grid { grid-template-columns: repeat(3, 1fr); }.yy-product-card { min-height: 430px; }.yy-product-card:nth-child(4) { grid-column: 1 / 3; }.yy-product-card:nth-child(5) { grid-column: 3; }.yy-hero__seal { right: 0; } }
@media (max-width: 991px) { .yy-hero { min-height: auto; padding: 180px 0 110px; }.yy-hero .container { min-height: 500px; }.yy-hero__seal { top: 260px; width: 290px; }.yy-section-heading, .yy-moment__box { align-items: flex-start; flex-direction: column; }.yy-section-heading { gap: 20px; }.yy-section-heading > p { max-width: 600px; }.yy-dual__content { margin-left: 0; }.yy-cycle__layout { grid-template-columns: 1fr; gap: 60px; }.yy-cycle__copy { max-width: 600px; margin: auto; }.yy-moment__box { gap: 30px; }.yy-hero__scroll { display: none; } }
@media (max-width: 767px) { .home .header-section .logo a.active { width: 130px; }.home .header-section .logo a.active::after { font-size: 17px; }.yy-hero { padding-top: 145px; }.yy-hero .container { min-height: 590px; }.yy-hero h1 { font-size: 44px; }.yy-hero__lead { font-size: 15px; }.yy-hero__seal { top: 315px; right: -30px; width: 245px; }.yy-hero__seal span { width: 43px; font-size: 18px; }.yy-hero__seal strong { font-size: 21px; }.yy-intro .container { align-items: flex-start; flex-direction: column; gap: 5px; }.yy-products, .yy-dual, .yy-cycle, .yy-contact { padding: 80px 0; }.yy-product-grid { grid-template-columns: 1fr; }.yy-product-card, .yy-product-card:nth-child(4), .yy-product-card:nth-child(5) { grid-column: auto; min-height: 365px; }.yy-section-heading h2, .yy-dual h2, .yy-cycle h2, .yy-moment h2, .yy-contact h2 { font-size: 33px; }.yy-dual__visual { min-height: 360px; }.yy-dual__visual p { font-size: 48px; }.yy-dual__points { grid-template-columns: 1fr; }.yy-cycle__layout { margin-top: 45px; }.yy-cycle__diagram { width: 310px; }.yy-cycle__node { width: 57px; font-size: 22px; }.yy-cycle__diagram strong { top: 39%; left: 38%; font-size: 23px; }.yy-moment { padding: 60px 0; }.yy-moment__box { min-height: 300px; padding: 45px 28px; }.yy-disclaimer p { text-align: left; } }

/* 养源全第二版：以产品海报的雕版山水、宣纸和金线为整页视觉语言。 */
.yy-home { background-color: #ece5d5; background-image: radial-gradient(rgba(85, 70, 42, .09) .6px, transparent .8px), radial-gradient(rgba(255,255,255,.75) .6px, transparent .8px); background-position: 0 0, 4px 5px; background-size: 7px 7px; }
.home .header-section { background: rgba(246, 242, 233, .82) !important; border-bottom-color: rgba(35, 42, 35, .23); backdrop-filter: blur(10px); }
.yy-hero { min-height: 790px; background: #eee7d8 url('assets/images/yangyuanquan/hero-landscape-v1.png') center / cover no-repeat; }
.yy-hero::before { opacity: 1; background: linear-gradient(90deg, rgba(248,245,237,.95) 0%, rgba(248,245,237,.86) 27%, rgba(248,245,237,.26) 52%, rgba(248,245,237,0) 70%); mask-image: none; }
.yy-hero .container { display: flex; align-items: center; min-height: 500px; }
.yy-hero__content { max-width: 570px; padding: 31px 0 31px 34px; border-left: 3px solid var(--yy-ink); }
.yy-hero .yy-eyebrow { color: #75591e; }.yy-hero h1 { margin-bottom: 22px; color: #151c19; font-size: clamp(52px, 6vw, 86px); line-height: 1.08; text-shadow: 0 1px 0 rgba(255,255,255,.6); }.yy-hero h1 em { color: #765716; }.yy-hero__lead { color: #29382f; font-weight: 500; }
.yy-hero__orb { display: none; }.yy-hero__seal { top: auto; right: 5%; bottom: 74px; width: 168px; border: 1px solid rgba(41, 48, 38, .55); background: rgba(246,241,227,.73); animation: none; box-shadow: 0 0 0 8px rgba(246,241,227,.28); }.yy-hero__seal::before { inset: 9%; border-color: rgba(118, 87, 22, .7); }.yy-hero__seal::after { inset: 26%; border-color: rgba(41, 48, 38, .35); }.yy-hero__seal span { width: 32px; color: #f8f2e5; font-size: 15px; animation: none; }.yy-hero__seal strong { top: 38%; left: 39%; color: #29382f; font-size: 18px; animation: none; }
.yy-intro { position: relative; padding: 24px 0; border-top: 1px solid #a89162; border-bottom: 1px solid #a89162; color: #26382f; background: #ded1b8; }.yy-intro::before { content: "云起 · 山行 · 草本 · 五行"; position: absolute; top: 50%; left: 50%; color: rgba(72, 71, 54, .27); font-family: var(--yy-serif); font-size: 28px; letter-spacing: .8em; white-space: nowrap; transform: translate(-50%, -50%); }.yy-intro p, .yy-intro span { position: relative; z-index: 1; }.yy-intro span { color: #765716; font-weight: 700; }
.yy-products { position: relative; padding: 145px 0; }.yy-products::before { content: "五行"; position: absolute; top: 60px; right: -10px; color: rgba(42,54,42,.055); font-family: var(--yy-serif); font-size: 230px; font-weight: 700; line-height: 1; writing-mode: vertical-rl; }
.yy-section-heading { position: relative; padding-bottom: 32px; border-bottom: 1px solid rgba(40, 55, 43, .32); }.yy-section-heading h2 { font-size: clamp(40px, 4vw, 61px); }.yy-section-heading > p { font-size: 16px; }
.yy-product-grid { position: relative; grid-template-columns: repeat(12, 1fr); gap: 18px; }.yy-product-card { grid-column: span 4; min-height: 565px; border: 8px solid #e5d9c4; outline: 1px solid rgba(43,50,39,.5); box-shadow: 8px 10px 0 rgba(47, 47, 35, .14); }.yy-product-card:nth-child(4), .yy-product-card:nth-child(5) { grid-column: span 6; min-height: 505px; }.yy-product-card::before { border-color: rgba(249,242,225,.65); }.yy-product-card__content { padding: 18px 18px 0; right: 0; bottom: 21px; left: 0; background: linear-gradient(to right, rgba(24,33,26,.92), rgba(24,33,26,.55), transparent); }.yy-product-card--metal .yy-product-card__content { background: linear-gradient(to right, rgba(82,59,29,.88), rgba(82,59,29,.46), transparent); }.yy-product-card:hover { transform: translate(-3px, -10px) rotate(-.35deg); box-shadow: 12px 18px 0 rgba(47, 47, 35, .16); }
.yy-product-card--wood, .yy-product-card--fire, .yy-product-card--earth, .yy-product-card--metal, .yy-product-card--water { background-size: cover, contain; background-position: center, center; background-repeat: no-repeat; }
.yy-product-card::before, .yy-product-card__circle { display: none; }
.yy-product-card__top { display: none; }

/* 五张产品海报采用同尺寸纵向卡片：图片与文案分区，完整呈现原图。 */
.yy-product-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); align-items: stretch; gap: 24px; }
.yy-product-card, .yy-product-card:nth-child(4), .yy-product-card:nth-child(5) { display: grid; grid-column: span 2; grid-template-rows: auto 1fr; min-height: 0; padding: 0; color: #f7efe1; overflow: hidden; background: #1d3026; }
.yy-product-card:nth-child(4) { grid-column: 2 / span 2; }.yy-product-card:nth-child(5) { grid-column: 4 / span 2; }
.yy-product-card__art { width: 100%; aspect-ratio: 1002 / 1280; background-color: #e8dfca; background-position: center; background-size: contain; background-repeat: no-repeat; }
.yy-product-card--wood .yy-product-card__art { background-image: url('assets/images/yangyuanquan/green-rhythm.webp'); }
.yy-product-card--fire .yy-product-card__art { background-image: url('assets/images/yangyuanquan/red-glow.webp'); }
.yy-product-card--earth .yy-product-card__art { background-image: url('assets/images/yangyuanquan/yellow-harmony.webp'); }
.yy-product-card--metal .yy-product-card__art { background-image: url('assets/images/yangyuanquan/white-clear.webp'); }
.yy-product-card--water .yy-product-card__art { background-image: url('assets/images/yangyuanquan/black-run.webp'); }
.yy-product-card__content, .yy-product-card--metal .yy-product-card__content { position: relative; right: auto; bottom: auto; left: auto; display: flex; flex-direction: column; align-items: flex-start; padding: 24px 23px 26px; color: #f7efe1; background: #1d3026; }
.yy-product-card h3 { color: #f7efe1; font-size: clamp(21px, 1.45vw, 26px); }.yy-product-card__content p { color: #d9ddd4; }.yy-product-card__slogan { color: #d9b66b !important; }.yy-product-card__content a { margin-top: auto; color: #f1d491; }
@media (max-width: 1199px) { .yy-product-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }.yy-product-card, .yy-product-card:nth-child(4), .yy-product-card:nth-child(5) { grid-column: span 2; }.yy-product-card:nth-child(4) { grid-column: 2 / span 2; }.yy-product-card:nth-child(5) { grid-column: 4 / span 2; } }
@media (max-width: 767px) { .yy-product-grid { grid-template-columns: minmax(0, 420px); justify-content: center; gap: 24px; }.yy-product-card, .yy-product-card:nth-child(4), .yy-product-card:nth-child(5), .yy-product-card:last-child { grid-column: auto; }.yy-product-card__content { min-height: 205px; } }
@media (min-width: 1400px) { .yy-products .container { max-width: 1480px; } }
.yy-dual { position: relative; overflow: hidden; background: #d9cbae; }.yy-dual::before { content: ""; position: absolute; top: -190px; right: -80px; width: 520px; height: 520px; border: 1px solid rgba(84,75,53,.25); border-radius: 50%; box-shadow: 0 0 0 22px rgba(84,75,53,.08), 0 0 0 50px rgba(84,75,53,.05); }.yy-dual__visual { border: 9px solid #e8dfcf; outline: 1px solid #485344; background-color: #263a31; background-image: repeating-radial-gradient(ellipse at 50% 112%, transparent 0 24px, rgba(235,224,196,.23) 25px 27px, transparent 28px 44px), linear-gradient(145deg, transparent 0 45%, rgba(229,211,169,.22) 45.3% 46%, transparent 46.3% 100%); }.yy-dual__visual::after { border-color: rgba(234,221,190,.55); }.yy-dual__leaf { border-color: rgba(233,222,196,.6); }.yy-dual__content { position: relative; padding: 0 12px 0 25px; border-left: 1px solid rgba(46,57,45,.55); }.yy-dual__points > div { border-top-color: rgba(46,57,45,.45); }
.yy-dual__lead + .yy-dual__lead { margin-top: -14px; }

/* Pure ink-green brand statement; no decorative line background. */
.yy-manifesto { padding: 132px 0; color: #f0eadf; background: #1d3026; }.yy-manifesto .yy-eyebrow { color: #d4b46e; }.yy-manifesto h2 { max-width: 760px; margin: 0; color: #f5efe2; font-size: clamp(36px, 4.2vw, 58px); line-height: 1.25; letter-spacing: .05em; }.yy-manifesto__body { display: grid; grid-template-columns: 1fr 1.15fr 1fr; gap: clamp(28px, 5vw, 80px); margin-top: 62px; }.yy-manifesto__body p { margin: 0; color: #d6d8d0; font-size: 16px; line-height: 2; }.yy-manifesto__body p:nth-child(2) { color: #f2ecdf; font-size: 17px; }
.yy-cycle { position: relative; overflow: hidden; background-color: #273a32; background-image: repeating-radial-gradient(ellipse at 50% 128%, transparent 0 24px, rgba(226,211,178,.13) 25px 26px, transparent 27px 46px); }.yy-cycle::before { content: ""; position: absolute; top: -120px; right: -110px; width: 440px; height: 440px; border: 1px solid rgba(224,207,169,.4); border-radius: 50%; box-shadow: 0 0 0 34px rgba(224,207,169,.06), 0 0 0 70px rgba(224,207,169,.035); }.yy-cycle__diagram { border: 1px solid rgba(229,213,175,.64); background: rgba(27,47,39,.5); box-shadow: 0 0 0 12px rgba(229,213,175,.08); }.yy-cycle__diagram::before { border-color: rgba(229,213,175,.8); }.yy-cycle__copy { padding: 31px; border: 1px solid rgba(230,216,183,.42); background: rgba(18,36,29,.43); }
.yy-moment { padding: 125px 0; }.yy-moment__box { position: relative; overflow: hidden; min-height: 390px; border: 8px solid #dfd2bc; outline: 1px solid rgba(47,54,41,.5); background: linear-gradient(90deg, rgba(245,239,226,.97) 0%, rgba(245,239,226,.91) 40%, rgba(245,239,226,.05) 80%), url('assets/images/yangyuanquan/hero-landscape-v1.png') center / cover no-repeat; box-shadow: 9px 11px 0 rgba(49,44,32,.13); }.yy-moment__box::after { content: "双养 · 五行 · 草本"; position: absolute; right: 36px; bottom: 20px; color: rgba(255,255,255,.68); font-family: var(--yy-serif); font-size: 14px; letter-spacing: .42em; writing-mode: vertical-rl; }.yy-moment__box > div, .yy-moment__box > p { position: relative; z-index: 1; }
.yy-contact { position: relative; padding: 150px 0; overflow: hidden; background: #d3c19f; }.yy-contact::before, .yy-contact::after { content: ""; position: absolute; width: 380px; height: 380px; border: 1px solid rgba(77,73,50,.3); border-radius: 50%; }.yy-contact::before { top: -230px; left: -95px; }.yy-contact::after { right: -90px; bottom: -240px; }.yy-contact__inner { position: relative; z-index: 1; padding: 65px 30px; border: 1px solid rgba(57,62,45,.57); outline: 8px solid rgba(241,234,217,.43); outline-offset: -18px; background: rgba(238,228,208,.4); }.yy-contact__inner > p:not(.yy-eyebrow) { font-size: 16px; }.yy-disclaimer { border-top: 1px solid rgba(213,188,126,.48); }

/* Keep scene-copy readable over the dark mountain area. */
.yy-moment__box > p { color: #ffd37b; font-weight: 700; text-shadow: 0 1px 4px rgba(12, 29, 22, .95), 0 0 9px rgba(12, 29, 22, .78); -webkit-text-stroke: .25px rgba(12, 29, 22, .72); }
.yy-moment__box::after { right: 25px; bottom: 22px; padding: 15px 10px; color: #20372d; background: rgba(248, 240, 220, .9); font-size: 16px; font-weight: 700; line-height: 1.65; letter-spacing: .18em; text-shadow: none; -webkit-text-stroke: 0; }

@media (max-width: 1199px) { .yy-product-card, .yy-product-card:nth-child(4), .yy-product-card:nth-child(5) { grid-column: span 6; min-height: 480px; }.yy-product-card:last-child { grid-column: 4 / span 6; } }
@media (max-width: 767px) { .yy-hero { min-height: 690px; background-position: 61% center; }.yy-hero .container { min-height: 520px; }.yy-hero__content { padding: 23px 0 23px 21px; }.yy-hero h1 { font-size: 47px; }.yy-hero__seal { right: 27px; bottom: 28px; width: 120px; }.yy-hero__seal span { width: 25px; font-size: 12px; }.yy-hero__seal strong { font-size: 14px; }.yy-intro::before { font-size: 19px; }.yy-products::before { font-size: 150px; }.yy-product-grid { grid-template-columns: 1fr; }.yy-product-card, .yy-product-card:nth-child(4), .yy-product-card:nth-child(5), .yy-product-card:last-child { grid-column: auto; min-height: 480px; }.yy-product-card { border-width: 6px; }.yy-dual__content { padding-left: 19px; }.yy-cycle__copy { padding: 23px; }.yy-moment { padding: 75px 0; }.yy-moment__box { min-height: 365px; }.yy-moment__box::after { right: 15px; }.yy-contact { padding: 95px 0; }.yy-contact__inner { padding: 55px 22px; } }

/* 版画场景插画：每个主题区使用独立的原创山水背景。 */
.yy-dual__visual { background-image: linear-gradient(150deg, rgba(14, 38, 29, .08), rgba(14, 38, 29, .44)), url('assets/images/yangyuanquan/philosophy-landscape-v2.png'); background-position: center; background-size: cover; }
.yy-cycle { background-image: linear-gradient(90deg, rgba(20, 39, 33, .91) 0%, rgba(20, 39, 33, .78) 46%, rgba(20, 39, 33, .57) 100%), url('assets/images/yangyuanquan/five-elements-landscape-v1.png'); background-position: center; background-size: cover; }
.yy-contact { background-image: linear-gradient(rgba(225, 207, 167, .44), rgba(225, 207, 167, .44)), url('assets/images/yangyuanquan/contact-landscape-v1.png'); background-position: center; background-size: cover; }
.yy-contact__inner { background: rgba(243, 235, 217, .78); box-shadow: 10px 12px 0 rgba(80, 61, 29, .14); }

/* 圆心文案以变换后的中心点定位，避免固定百分比造成视觉偏移。 */
.yy-cycle__diagram strong { top: 50%; left: 50%; transform: translate(-50%, -50%); }

/* Footer follows the brand's ink-green and antique-gold print palette. */
.yy-dual__visual::after, .yy-dual__leaf { display: none; }
.footer-section { position: relative; overflow: hidden; background: #1d3026; border: 0; }
.footer-section::before { display: none; }
.footer-section .container { position: relative; z-index: 1; }.footer-section .footer-widget-title h2 { color: #e4c98e; font-family: var(--yy-serif); letter-spacing: .05em; }.footer-section .footer-widget-emil p, .footer-section .footer-widget-description p, .footer-section .copy-right p { color: #ebe4d5; }.footer-section .footer-bottom { border-top: 0; }

/* Footer: brand statement and two clear contact paths, without a three-column split. */
.footer-section { padding: 72px 0 25px; }
.yy-footer-main { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(420px, 1fr); align-items: center; gap: clamp(50px, 9vw, 145px); }
.yy-footer-brand { max-width: 510px; }.yy-footer-brand .fotter-logo { margin-bottom: 21px; }.yy-footer-brand .fotter-logo img { max-width: 180px; }.yy-footer-brand > p { max-width: 470px; margin: 0; color: #ebe4d5; font-size: 14px; line-height: 1.9; }
.home .yy-footer-brand .fotter-logo a { width: 175px; min-height: 50px; }.home .yy-footer-brand .fotter-logo a::after { left: 0; text-align: left; transform: none; }
.yy-footer-contacts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 38px; }.yy-footer-contact-item h2 { margin: 0 0 20px; color: #e4c98e; font-family: var(--yy-serif); font-size: 23px; letter-spacing: .05em; }.yy-footer-contact-item p { margin: 0 0 7px; color: #ebe4d5; font-size: 14px; }.yy-footer-contact-item a { color: #ebe4d5; font-size: 15px; text-decoration: none; word-break: break-word; }.yy-footer-contact-item a:hover { color: #e4c98e; }
.footer-section .footer-bottom { margin-top: 54px; padding-top: 0; }.footer-section .copy-right p { margin: 0; color: rgba(235, 228, 213, .7); font-size: 12px; text-align: left; }
@media (max-width: 991px) { .yy-footer-main { grid-template-columns: 1fr; gap: 42px; }.yy-footer-brand { max-width: 600px; } }
@media (max-width: 575px) { .footer-section { padding-top: 55px; }.yy-footer-contacts { grid-template-columns: 1fr; gap: 28px; }.footer-section .footer-bottom { margin-top: 42px; } }

/* Replace the template's blue scroll button with the brand palette. */
.scroll-area .go-top { color: #f7efe0; background: #1d3026; border: 1px solid rgba(226, 197, 131, .72); border-radius: 0; }
.scroll-area .go-top::before { display: none; }
.scroll-area .go-top i { left: 0; right: 0; }
.scroll-area .go-top { display: grid; place-items: center; padding: 0; font: inherit; line-height: 1; }
.scroll-area .go-top span { display: block; font-size: 20px; font-weight: 700; line-height: 1; transform: translateY(-1px); }
.scroll-area .go-top:focus, .scroll-area .go-top:hover { color: #1d3026; background: #b99049; border-color: #b99049; }

/* Homepage loading scene: paper, ink and five-element rhythm. */
.yy-page-loader { overflow: hidden; background: #ece5d5; }
.yy-page-loader::before, .yy-page-loader::after { content: ""; position: absolute; pointer-events: none; border-radius: 50%; }
.yy-page-loader::before { width: min(74vw, 880px); aspect-ratio: 1; top: -46%; left: -19%; background: radial-gradient(circle, rgba(213, 181, 111, .24), rgba(213, 181, 111, 0) 67%); }
.yy-page-loader::after { width: min(68vw, 760px); aspect-ratio: 1; right: -23%; bottom: -48%; background: radial-gradient(circle, rgba(32, 61, 47, .18), rgba(32, 61, 47, 0) 68%); }
.yy-page-loader__core { position: relative; z-index: 1; min-width: 250px; padding: 28px; text-align: center; }
.yy-page-loader__mark { position: relative; display: grid; place-items: center; }
.yy-page-loader__mark::before { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(238, 224, 187, .62); border-radius: 50%; animation: yy-loader-breathe 2.1s ease-in-out infinite; }
.yy-page-loader__mark::after { content: ""; position: absolute; inset: -12px; border: 1px solid rgba(157, 116, 44, .45); border-radius: 50%; animation: yy-loader-orbit 5.5s linear infinite; }
.yy-page-loader__mark span { position: absolute; color: #f5ebd7; font-family: var(--yy-serif); font-size: 13px; line-height: 1; }
.yy-page-loader__mark span:nth-child(1) { top: 9px; left: calc(50% - 6px); }.yy-page-loader__mark span:nth-child(2) { top: 29px; right: 8px; }.yy-page-loader__mark span:nth-child(3) { right: 16px; bottom: 9px; }.yy-page-loader__mark span:nth-child(4) { bottom: 9px; left: 16px; }.yy-page-loader__mark span:nth-child(5) { top: 29px; left: 8px; }
.yy-page-loader__brand strong { color: #193328; font-family: var(--yy-serif); font-weight: 600; }.yy-page-loader__brand span { color: #a2772e; font-weight: 700; }.yy-page-loader__core p { margin: 23px 0 0; color: #597062; font-size: 12px; letter-spacing: .16em; }
@keyframes yy-loader-breathe { 0%,100% { opacity: .48; transform: scale(.89); } 50% { opacity: 1; transform: scale(1); } }
@keyframes yy-loader-orbit { to { transform: rotate(360deg); } }
@media (max-width: 575px) { .yy-page-loader__core { min-width: 220px; }.yy-page-loader__brand strong { font-size: 26px; }.yy-page-loader__core p { font-size: 11px; } }
@media (prefers-reduced-motion: reduce) { .yy-page-loader__mark::before, .yy-page-loader__mark::after { animation: none; } }

/* Added homepage sections use full original print illustrations, never a line-only backdrop. */
.yy-botanicals { padding: 125px 0; background: #f4efe5; }.yy-botanicals__panel { position: relative; min-height: 630px; padding: 72px 8% 42px; overflow: hidden; border: 8px solid #e1d4bd; outline: 1px solid rgba(42, 56, 44, .44); background: linear-gradient(90deg, rgba(248,243,231,.95) 0%, rgba(248,243,231,.64) 37%, rgba(248,243,231,.08) 69%), url('assets/images/yangyuanquan/five-color-botanicals-v1.png') center / cover no-repeat; box-shadow: 10px 12px 0 rgba(50, 43, 30, .12); }.yy-botanicals__heading { max-width: 550px; }.yy-botanicals h2, .yy-ritual h2 { margin: 0 0 21px; color: #20372d; font-size: clamp(35px, 4.1vw, 57px); line-height: 1.24; letter-spacing: .05em; }.yy-botanicals__heading > p:last-child { max-width: 500px; margin: 0; color: #425247; font-size: 16px; }.yy-botanicals__legend { position: absolute; right: 8%; bottom: 67px; left: 8%; display: grid; grid-template-columns: repeat(5, 1fr); overflow: hidden; background: rgba(247, 241, 227, .88); box-shadow: 0 8px 24px rgba(46, 41, 27, .14); }.yy-botanicals__legend span { min-height: 92px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; color: #29382f; font-size: 14px; font-weight: 700; }.yy-botanicals__legend b { font-family: var(--yy-serif); font-size: 24px; font-weight: 600; }.yy-botanicals__legend--wood b { color: #4f775c; }.yy-botanicals__legend--fire b { color: #ab5b48; }.yy-botanicals__legend--earth b { color: #ae8b42; }.yy-botanicals__legend--metal b { color: #8e8878; }.yy-botanicals__legend--water b { color: #253f38; }.yy-botanicals__note { position: absolute; right: 8%; bottom: 22px; left: 8%; margin: 0; color: rgba(47, 57, 43, .78); font-size: 12px; text-align: center; }

.yy-ritual { padding: 125px 0; background: #ece5d5; }.yy-ritual__panel { position: relative; min-height: 625px; padding: 70px 8% 47px; overflow: hidden; border: 8px solid #dfd1b8; outline: 1px solid rgba(42, 56, 44, .44); background: linear-gradient(90deg, rgba(247,240,225,.91) 0%, rgba(247,240,225,.58) 41%, rgba(247,240,225,.1) 75%), url('assets/images/yangyuanquan/daily-rhythm-v1.png') center / cover no-repeat; box-shadow: 10px 12px 0 rgba(50, 43, 30, .12); }.yy-ritual__heading { max-width: 580px; }.yy-ritual__heading > p:last-child { max-width: 480px; margin: 0; color: #3f5045; font-size: 16px; }.yy-ritual__moments { position: absolute; right: 8%; bottom: 54px; left: 8%; display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; margin: 0; padding: 0; list-style: none; background: rgba(248, 242, 227, .84); box-shadow: 0 9px 24px rgba(45, 38, 23, .16); }.yy-ritual__moments li { min-height: 118px; display: flex; flex-direction: column; justify-content: center; padding: 17px 20px; background: rgba(248, 242, 227, .78); }.yy-ritual__moments span { margin-bottom: 8px; color: #b58a42; font-size: 11px; font-weight: 700; letter-spacing: .1em; }.yy-ritual__moments strong { color: #20372d; font-family: var(--yy-serif); font-size: 24px; font-weight: 600; letter-spacing: .08em; }.yy-ritual__moments small { margin-top: 4px; color: #5d6a5e; font-size: 12px; }

@media (max-width: 991px) { .yy-botanicals, .yy-ritual { padding: 90px 0; }.yy-botanicals__panel, .yy-ritual__panel { min-height: 680px; }.yy-botanicals__legend { grid-template-columns: repeat(3, 1fr); right: 7%; left: 7%; bottom: 58px; }.yy-botanicals__legend span { min-height: 76px; }.yy-botanicals__note { right: 7%; left: 7%; bottom: 21px; }.yy-ritual__moments { grid-template-columns: repeat(3, 1fr); right: 7%; left: 7%; bottom: 45px; }.yy-ritual__moments li { min-height: 94px; padding: 14px 18px; } }
@media (max-width: 575px) { .yy-botanicals, .yy-ritual { padding: 68px 0; }.yy-botanicals__panel, .yy-ritual__panel { min-height: 720px; padding: 47px 28px 30px; border-width: 5px; }.yy-botanicals h2, .yy-ritual h2 { font-size: 34px; }.yy-botanicals__heading > p:last-child, .yy-ritual__heading > p:last-child { font-size: 14px; }.yy-botanicals__legend { grid-template-columns: repeat(5, 1fr); right: 22px; left: 22px; bottom: 58px; }.yy-botanicals__legend span { min-height: 71px; font-size: 11px; }.yy-botanicals__legend b { font-size: 20px; }.yy-botanicals__note { right: 22px; left: 22px; bottom: 20px; font-size: 10px; }.yy-ritual__moments { grid-template-columns: repeat(5, 1fr); right: 22px; left: 22px; bottom: 30px; }.yy-ritual__moments li { min-height: 99px; padding: 12px 5px; text-align: center; }.yy-ritual__moments strong { font-size: 18px; }.yy-ritual__moments small { font-size: 10px; }.yy-ritual__moments span { font-size: 9px; } }

@media (max-width: 991px) { .yy-manifesto { padding: 95px 0; }.yy-manifesto__body { grid-template-columns: 1fr; gap: 22px; margin-top: 42px; max-width: 700px; }.yy-manifesto__body p, .yy-manifesto__body p:nth-child(2) { font-size: 16px; } }
@media (max-width: 575px) { .yy-hero__sublead { font-size: 13px; }.yy-manifesto { padding: 75px 0; }.yy-manifesto h2 { font-size: 34px; }.yy-manifesto__body p, .yy-manifesto__body p:nth-child(2) { font-size: 14px; line-height: 1.9; } }

/* 将五方、五时、五色的文化信息纳入产品与草本模块。 */
.yy-product-card__meta { margin: 0 0 8px !important; color: #d9b66b !important; font-size: 11px !important; font-weight: 700; letter-spacing: .12em; }
.yy-botanicals__legend strong { color: #37483d; font-size: 12px; font-weight: 700; }.yy-botanicals__legend small { color: #6b746b; font-size: 11px; font-weight: 500; }

/* 品牌愿景以纯色文字版块承载，不增加边框式卡片。 */
.yy-commitment { padding: 132px 0; color: #22372c; background: #e9dfcc; }.yy-commitment__header { max-width: 740px; }.yy-commitment .yy-eyebrow { color: #9a7539; }.yy-commitment h2 { margin: 0; color: #1e3429; font-size: clamp(36px, 4.1vw, 57px); line-height: 1.25; letter-spacing: .05em; }.yy-commitment__items { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(32px, 6vw, 100px); margin-top: 64px; }.yy-commitment__items span { color: #a87f3d; font-size: 12px; font-weight: 700; letter-spacing: .12em; }.yy-commitment__items h3 { margin: 14px 0 13px; color: #1e3429; font-family: var(--yy-serif); font-size: 27px; letter-spacing: .06em; }.yy-commitment__items p { margin: 0; color: #4d5a50; font-size: 16px; line-height: 2; }
@media (max-width: 991px) { .yy-commitment { padding: 95px 0; }.yy-commitment__items { grid-template-columns: 1fr; gap: 35px; margin-top: 44px; max-width: 650px; } }
@media (max-width: 575px) { .yy-commitment { padding: 75px 0; }.yy-commitment h2 { font-size: 34px; }.yy-commitment__items p { font-size: 14px; line-height: 1.9; } }

/* 五行风物志：以连续章节讲述五款产品，不使用卡片或轮播。 */
.yy-product-stories { padding: 138px 0; color: #21372c; background: #f4efe4; }.yy-product-stories__header { display: grid; grid-template-columns: minmax(300px, .9fr) minmax(360px, 1.1fr); column-gap: 10%; align-items: end; }.yy-product-stories__header .yy-eyebrow { grid-column: 1; margin-bottom: 15px; color: #987439; }.yy-product-stories__header h2 { grid-column: 1; margin: 0; color: #1f372c; font-size: clamp(38px, 4.2vw, 58px); line-height: 1.25; letter-spacing: .05em; }.yy-product-stories__header > p:last-child { grid-column: 2; grid-row: 1 / span 2; margin: 0; color: #526056; font-size: 16px; line-height: 2; }.yy-product-stories__list { margin-top: 88px; }.yy-product-story { --yy-story-tone: #53785f; display: grid; grid-template-columns: minmax(300px, .75fr) minmax(430px, 1.25fr); gap: clamp(45px, 9vw, 155px); align-items: center; padding: 25px 8%; }.yy-product-story + .yy-product-story { margin-top: 54px; }.yy-product-story--fire { --yy-story-tone: #a85b4a; }.yy-product-story--earth { --yy-story-tone: #a98740; }.yy-product-story--metal { --yy-story-tone: #878273; }.yy-product-story--water { --yy-story-tone: #2b4b43; }.yy-product-story__identity { position: relative; min-height: 164px; padding: 21px 0 15px 104px; }.yy-product-story__identity b { position: absolute; top: 0; left: 0; color: var(--yy-story-tone); font-family: var(--yy-serif); font-size: 108px; font-weight: 600; line-height: .88; opacity: .2; }.yy-product-story__identity span { display: block; margin-bottom: 14px; color: var(--yy-story-tone); font-size: 12px; font-weight: 700; letter-spacing: .16em; }.yy-product-story__identity p { margin: 0 0 8px; color: #6b7369; font-size: 12px; font-weight: 700; letter-spacing: .1em; }.yy-product-story__identity h3 { margin: 0; color: #1f372c; font-family: var(--yy-serif); font-size: clamp(28px, 2.4vw, 39px); font-weight: 600; letter-spacing: .06em; }.yy-product-story__copy { max-width: 650px; }.yy-product-story__copy p { margin: 0 0 13px; color: #4e5c52; font-size: 16px; line-height: 2; }.yy-product-story__copy p:last-child { margin-bottom: 0; }.yy-product-story__slogan { color: var(--yy-story-tone) !important; font-family: var(--yy-serif); font-size: 22px !important; font-weight: 600; letter-spacing: .08em; }
@media (max-width: 991px) { .yy-product-stories { padding: 95px 0; }.yy-product-stories__header { display: block; max-width: 680px; }.yy-product-stories__header > p:last-child { margin-top: 25px; }.yy-product-stories__list { margin-top: 55px; }.yy-product-story { grid-template-columns: 1fr; gap: 20px; padding: 20px 7%; }.yy-product-story + .yy-product-story { margin-top: 38px; }.yy-product-story__copy { max-width: none; } }
@media (max-width: 575px) { .yy-product-stories { padding: 75px 0; }.yy-product-stories__header h2 { font-size: 34px; }.yy-product-stories__header > p:last-child, .yy-product-story__copy p { font-size: 14px; line-height: 1.9; }.yy-product-story { padding: 15px 0; }.yy-product-story__identity { min-height: 135px; padding-left: 82px; }.yy-product-story__identity b { font-size: 86px; }.yy-product-story__slogan { font-size: 20px !important; } }

/* 品牌愿景的文字层级与四项使命内容。 */
.yy-manifesto__body > div { min-width: 0; }.yy-manifesto__body > div > span { display: block; margin-bottom: 15px; color: #d4b46e; font-size: 12px; font-weight: 700; letter-spacing: .14em; }.yy-manifesto__body h3 { margin: 0 0 13px; color: #f5efe2; font-family: var(--yy-serif); font-size: 27px; font-weight: 600; letter-spacing: .06em; }.yy-manifesto__body > div:nth-child(2) h3 { color: #f2d58f; }.yy-manifesto__body > div:nth-child(2) p { color: #f2ecdf; font-size: 17px; }
@media (max-width: 991px) { .yy-manifesto__body > div:nth-child(2) p { font-size: 16px; } }
@media (max-width: 575px) { .yy-manifesto__body h3 { font-size: 24px; }.yy-manifesto__body > div:nth-child(2) p { font-size: 14px; } }

/* 品牌使命以四项内容完整呈现产业、双养、五行与长期责任。 */
.yy-manifesto__header > p:last-child { max-width: 780px; margin: 24px 0 0; color: #d6d8d0; font-size: 16px; line-height: 2; }.yy-manifesto__body { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(50px, 10vw, 150px); row-gap: 52px; }.yy-manifesto__body > div:nth-child(2) p { font-size: 16px; }
@media (max-width: 991px) { .yy-manifesto__body { grid-template-columns: 1fr; gap: 34px; }.yy-manifesto__header > p:last-child { max-width: 680px; } }
@media (max-width: 575px) { .yy-manifesto__header > p:last-child { margin-top: 20px; font-size: 14px; line-height: 1.9; } }

/* 五行风物志以原创五境山水长卷衬底，并用交错章节取代整齐列表。 */
.yy-product-stories { position: relative; overflow: hidden; background-color: #e8dfca; background-image: linear-gradient(90deg, rgba(248,244,233,.92) 0%, rgba(248,244,233,.8) 44%, rgba(248,244,233,.68) 100%), url('assets/images/yangyuanquan/product-stories-landscape-v1.png'); background-position: center, center; background-size: cover, cover; background-repeat: no-repeat; }.yy-product-stories__header, .yy-product-stories__list { position: relative; z-index: 1; }.yy-product-stories__list { display: flex; flex-direction: column; align-items: flex-start; gap: 66px; }.yy-product-story, .yy-product-story + .yy-product-story { width: 84%; max-width: 1080px; margin: 0; padding: 34px 7%; }.yy-product-story:nth-child(2) { align-self: flex-end; width: 78%; }.yy-product-story:nth-child(3) { width: 88%; margin-left: 6%; }.yy-product-story:nth-child(4) { align-self: flex-end; width: 82%; }.yy-product-story:nth-child(5) { width: 79%; margin-left: 12%; }.yy-product-story:nth-child(even) { grid-template-columns: minmax(430px, 1.25fr) minmax(300px, .75fr); text-align: right; }.yy-product-story:nth-child(even) .yy-product-story__identity { grid-column: 2; grid-row: 1; padding: 21px 104px 15px 0; }.yy-product-story:nth-child(even) .yy-product-story__identity b { right: 0; left: auto; }.yy-product-story:nth-child(even) .yy-product-story__copy { grid-column: 1; grid-row: 1; justify-self: end; }.yy-product-story:nth-child(even) .yy-product-story__copy p { text-align: right; }
@media (max-width: 991px) { .yy-product-stories { background-image: linear-gradient(rgba(248,244,233,.88), rgba(248,244,233,.88)), url('assets/images/yangyuanquan/product-stories-landscape-v1.png'); }.yy-product-stories__list { gap: 42px; }.yy-product-story, .yy-product-story + .yy-product-story, .yy-product-story:nth-child(2), .yy-product-story:nth-child(3), .yy-product-story:nth-child(4), .yy-product-story:nth-child(5) { align-self: auto; width: 100%; margin: 0; padding: 22px 7%; }.yy-product-story:nth-child(even) { grid-template-columns: 1fr; text-align: left; }.yy-product-story:nth-child(even) .yy-product-story__identity, .yy-product-story:nth-child(even) .yy-product-story__copy { grid-column: auto; grid-row: auto; justify-self: auto; text-align: left; }.yy-product-story:nth-child(even) .yy-product-story__identity { padding: 21px 0 15px 104px; }.yy-product-story:nth-child(even) .yy-product-story__identity b { right: auto; left: 0; }.yy-product-story:nth-child(even) .yy-product-story__copy p { text-align: left; } }

/* 放宽五行风物志的横向阅读面，并提高浅山水上的文字对比。 */
.yy-product-stories { background-image: linear-gradient(90deg, rgba(249,246,237,.95) 0%, rgba(249,246,237,.91) 48%, rgba(249,246,237,.82) 100%), url('assets/images/yangyuanquan/product-stories-landscape-v1.png'); }.yy-product-stories__list { gap: 78px; }.yy-product-story, .yy-product-story + .yy-product-story { width: 96%; max-width: none; grid-template-columns: minmax(285px, .8fr) minmax(400px, 1.2fr); gap: clamp(52px, 7vw, 118px); padding: 38px 6%; }.yy-product-story:nth-child(2) { width: 92%; }.yy-product-story:nth-child(3) { width: 100%; margin-left: 0; }.yy-product-story:nth-child(4) { width: 92%; }.yy-product-story:nth-child(5) { width: 96%; margin-left: 0; }.yy-product-story:nth-child(even) { grid-template-columns: minmax(400px, 1.2fr) minmax(285px, .8fr); }.yy-product-story__identity { min-height: 142px; padding: 18px 0 14px 128px; }.yy-product-story__identity b { font-size: 86px; }.yy-product-story__identity p { color: #3f594a; font-weight: 700; }.yy-product-story__identity h3 { color: #102f24; white-space: nowrap; }.yy-product-story__copy p { color: #183b2d; font-weight: 500; }.yy-product-story__slogan { color: #315d46 !important; font-weight: 700; }.yy-product-story:nth-child(even) .yy-product-story__identity { padding: 18px 128px 14px 0; }.yy-product-story:nth-child(even) .yy-product-story__copy p { color: #183b2d; }
@media (max-width: 991px) { .yy-product-stories { background-image: linear-gradient(rgba(249,246,237,.92), rgba(249,246,237,.92)), url('assets/images/yangyuanquan/product-stories-landscape-v1.png'); }.yy-product-stories__list { gap: 46px; }.yy-product-story, .yy-product-story + .yy-product-story, .yy-product-story:nth-child(2), .yy-product-story:nth-child(3), .yy-product-story:nth-child(4), .yy-product-story:nth-child(5) { width: 100%; padding: 24px 7%; }.yy-product-story:nth-child(even) .yy-product-story__identity, .yy-product-story__identity { padding: 18px 0 14px 110px; } }
@media (max-width: 575px) { .yy-product-story:nth-child(even) .yy-product-story__identity, .yy-product-story__identity { padding-left: 94px; }.yy-product-story__identity b { font-size: 78px; } }

/* 提亮五行大字水印：保持意境感，同时在浅色山水上清楚可辨。 */
.yy-product-story--wood { --yy-story-tone: #285d35; }.yy-product-story--fire { --yy-story-tone: #9d4037; }.yy-product-story--earth { --yy-story-tone: #a97d28; }.yy-product-story--metal { --yy-story-tone: #817663; }.yy-product-story--water { --yy-story-tone: #26302b; }.yy-product-story__identity b { opacity: .62; text-shadow: 0 1px 0 rgba(255,255,255,.5); }

/* 首页以浅、深场景交替推进，明确区分品牌、产品与日常内容。 */
.yy-intro { color: #ece5d8; background: #1d3026; border-color: transparent; }.yy-intro::before { color: rgba(226, 211, 178, .28); }.yy-intro p { color: #f2ecdf; }.yy-intro span { color: #d7b96f; }
.yy-products { background-color: #eee5d2; background-image: linear-gradient(to bottom, rgba(249,246,236,.72) 0%, rgba(249,246,236,.95) 38%, rgba(249,246,236,.95) 66%, rgba(249,246,236,.7) 100%), url('assets/images/yangyuanquan/product-showcase-landscape-v1.png'); background-position: center, center; background-size: 100% 100%, 100% 100%; background-repeat: no-repeat, no-repeat; }.yy-products::before { color: rgba(83, 81, 60, .1); }.yy-products .yy-section-heading { border-bottom-color: rgba(43, 58, 45, .32); }.yy-products .yy-section-heading h2 { color: #193328; }.yy-products .yy-section-heading > p { color: #405247; }.yy-products .yy-eyebrow { color: #8b6629; }

/* 当前版本暂不开放合作咨询入口，保留链接代码供后续版本恢复。 */
.header-menu-btn, .yy-contact .yy-button--primary { display: none !important; }

/* 首页单页导航：兼顾固定页头与用户的动态效果偏好。 */
#home, #brand-philosophy, #five-elements, #product-stories, #five-directions, #brand-mission { scroll-margin-top: 105px; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }

/* 当前首页 Customizer 图片字段。未设置时回退到主题内置视觉资源。 */
.yy-hero { background-image: var(--yy-hero-background, url('assets/images/yangyuanquan/hero-landscape-v1.webp')); }
.yy-dual__visual { background-image: linear-gradient(150deg, rgba(14, 38, 29, .08), rgba(14, 38, 29, .44)), var(--yy-dual-background, none); }
.yy-products { background-image: linear-gradient(to bottom, rgba(249,246,236,.72) 0%, rgba(249,246,236,.95) 38%, rgba(249,246,236,.95) 66%, rgba(249,246,236,.7) 100%), var(--yy-products-background, none); }
.yy-product-stories { background-image: linear-gradient(90deg, rgba(249,246,237,.95) 0%, rgba(249,246,237,.91) 48%, rgba(249,246,237,.82) 100%), var(--yy-stories-background, none); }
.yy-botanicals__panel { background-image: linear-gradient(90deg, rgba(248,243,231,.95) 0%, rgba(248,243,231,.64) 37%, rgba(248,243,231,.08) 69%), var(--yy-directions-background, none); }
.yy-contact { background-image: linear-gradient(rgba(225, 207, 167, .44), rgba(225, 207, 167, .44)), var(--yy-contact-background, none); }
@media (max-width: 991px) { .yy-product-stories { background-image: linear-gradient(rgba(249,246,237,.92), rgba(249,246,237,.92)), var(--yy-stories-background, none); } }
.yy-intro::before, .yy-products::before { content: attr(data-watermark); }
.yy-product-card .yy-product-card__art { background-image: none; }
.yy-product-card__art img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center; }
.home .header-section .logo a.active::after, .home .footer-section .fotter-logo a::after { content: attr(data-yy-wordmark); }
.yy-product-card--wood, .yy-product-card--fire, .yy-product-card--earth, .yy-product-card--metal, .yy-product-card--water { background-image: none; }
.yy-product-story:nth-child(even) .yy-product-story__copy p { text-align: left; }

/* 独立 404：以山水版画承接单页站点的未开放地址。 */
.yy-not-found { margin: 0; background: #20372d; }
.yy-not-found .yy-404 { position: relative; isolation: isolate; display: grid; grid-template-rows: auto 1fr auto; min-height: 100svh; overflow: hidden; color: #f7f1e4; font-family: var(--yy-sans); background: linear-gradient(100deg, rgba(17, 42, 32, .94) 0%, rgba(21, 48, 37, .82) 43%, rgba(29, 50, 40, .4) 100%), var(--yy-404-scene) center / cover no-repeat; }
.yy-not-found .yy-404::before { content: ""; position: absolute; z-index: -1; inset: 0; background: radial-gradient(circle at 76% 24%, rgba(214, 172, 86, .22), transparent 21%), linear-gradient(to top, rgba(10, 31, 23, .48), transparent 42%); }
.yy-not-found .yy-404__header, .yy-not-found .yy-404__footer { display: flex; align-items: center; justify-content: space-between; gap: 30px; width: min(1280px, calc(100% - 96px)); margin: 0 auto; }
.yy-not-found .yy-404__header { padding: 35px 0; }
.yy-not-found .yy-404__brand { display: inline-flex; flex-direction: column; gap: 5px; color: #f6f0e2; font-family: var(--yy-serif); font-size: 26px; font-weight: 700; letter-spacing: .14em; line-height: 1; text-decoration: none; }
.yy-not-found .yy-404__brand small { color: #d9ba76; font-family: var(--yy-sans); font-size: 10px; font-weight: 700; letter-spacing: .32em; }
.yy-not-found .yy-404__header > p, .yy-not-found .yy-404__footer { margin: 0; color: rgba(244, 237, 219, .78); font-size: 12px; letter-spacing: .18em; }
.yy-not-found .yy-404__content { align-self: center; width: min(1280px, calc(100% - 96px)); margin: 0 auto; padding: 65px 0 90px; }
.yy-not-found .yy-404__code { margin: 0 0 -33px -10px; color: rgba(231, 209, 156, .2); font-family: var(--yy-serif); font-size: clamp(138px, 21vw, 340px); font-weight: 600; line-height: .8; letter-spacing: -.04em; }
.yy-not-found .yy-404__eyebrow { position: relative; margin: 0 0 18px; color: #d6b46e; font-size: 12px; font-weight: 700; letter-spacing: .25em; }
.yy-not-found .yy-404__eyebrow::before { content: ""; display: inline-block; width: 32px; height: 1px; margin: 0 12px 4px 0; background: currentColor; }
.yy-not-found .yy-404 h1 { max-width: 740px; margin: 0; color: #f8f3e8; font-family: var(--yy-serif); font-size: clamp(42px, 5.4vw, 82px); font-weight: 600; line-height: 1.22; letter-spacing: .1em; text-shadow: 0 3px 28px rgba(0, 0, 0, .23); }
.yy-not-found .yy-404__lead { max-width: 530px; margin: 28px 0 35px; color: rgba(247, 242, 230, .91); font-size: 15px; line-height: 2; }
.yy-not-found .yy-404__home { display: inline-flex; align-items: center; gap: 20px; min-height: 54px; padding: 0 26px; color: #21372c; background: #e5c47b; font-size: 14px; font-weight: 700; letter-spacing: .08em; text-decoration: none; transition: color .25s ease, background .25s ease, transform .25s ease; }
.yy-not-found .yy-404__home:hover, .yy-not-found .yy-404__home:focus { color: #fff; background: #496654; transform: translateY(-3px); }
.yy-not-found .yy-404__footer { box-sizing: border-box; padding: 28px 0 34px 34px; border: 0; }
.yy-not-found .yy-404__footer span:last-child { color: rgba(247, 241, 226, .56); letter-spacing: .08em; }
body.admin-bar .yy-404 { min-height: calc(100svh - 32px); }
@media (max-width: 782px) { body.admin-bar .yy-404 { min-height: calc(100svh - 46px); } }
@media (max-width: 767px) { .yy-not-found .yy-404 { background-position: 59% center; }.yy-not-found .yy-404__header, .yy-not-found .yy-404__content, .yy-not-found .yy-404__footer { width: min(100% - 42px, 1280px); }.yy-not-found .yy-404__header { padding: 26px 0; }.yy-not-found .yy-404__header > p { display: none; }.yy-not-found .yy-404__content { padding: 50px 0 68px; }.yy-not-found .yy-404__code { margin-bottom: -17px; font-size: clamp(112px, 35vw, 165px); }.yy-not-found .yy-404 h1 { font-size: clamp(38px, 11vw, 55px); }.yy-not-found .yy-404__lead { font-size: 14px; }.yy-not-found .yy-404__footer { align-items: flex-start; flex-direction: column; gap: 10px; padding: 22px 0 27px 21px; } }

/* 首页页头使用与 404 相同的养源全双层文字标识。 */
.home .header-section .logo a.active { width: 174px; height: 49px; }
.home .header-section .logo a.active::after { display: none; }
.home .header-section .logo .yy-header-brand { position: absolute; top: 1px; left: 0; display: inline-flex; flex-direction: column; gap: 5px; color: #24382c; font-family: var(--yy-serif); font-size: 25px; font-weight: 700; letter-spacing: .14em; line-height: 1; }
.home .header-section .logo .yy-header-brand small { color: #b28a4b; font-family: var(--yy-sans); font-size: 10px; font-weight: 700; letter-spacing: .31em; line-height: 1; }
@media (max-width: 767px) { .home .header-section .logo a.active { width: 148px; height: 43px; }.home .header-section .logo .yy-header-brand { font-size: 21px; }.home .header-section .logo .yy-header-brand small { font-size: 8px; } }

/* 首页移动端导航：不继承旧主题 MeanMenu 的蓝色条与默认菜单。 */
.yy-mobile-nav { display: none; }
@media (max-width: 991px) {
	.home .header-section { display: none !important; }
	.home .yy-mobile-nav { position: fixed; z-index: 1005; top: 0; right: 0; left: 0; display: block; color: #23392e; font-family: var(--yy-sans); background: rgba(247, 242, 232, .96); border-bottom: 1px solid rgba(42, 58, 47, .16); box-shadow: 0 5px 20px rgba(27, 43, 33, .1); backdrop-filter: blur(12px); }
	.home .yy-mobile-nav__bar { display: flex; align-items: center; justify-content: space-between; min-height: 76px; padding: 13px max(24px, calc((100vw - 920px) / 2)); }
	.home .yy-mobile-nav__brand { display: inline-flex; flex-direction: column; gap: 5px; color: #24382c; font-family: var(--yy-serif); font-size: 23px; font-weight: 700; letter-spacing: .14em; line-height: 1; text-decoration: none; }
	.home .yy-mobile-nav__brand small { color: #b28a4b; font-family: var(--yy-sans); font-size: 9px; font-weight: 700; letter-spacing: .3em; }
	.home .yy-mobile-nav__toggle { display: inline-flex; align-items: center; gap: 12px; min-height: 42px; padding: 0 13px 0 15px; color: #f8f3e8; border: 0; border-radius: 0; background: #24382c; font-family: var(--yy-sans); font-size: 11px; font-weight: 700; letter-spacing: .12em; }
	.home .yy-mobile-nav__toggle i, .home .yy-mobile-nav__toggle i::before, .home .yy-mobile-nav__toggle i::after { display: block; width: 15px; height: 1px; background: currentColor; content: ""; transition: transform .25s ease; }
	.home .yy-mobile-nav__toggle i { position: relative; }.home .yy-mobile-nav__toggle i::before, .home .yy-mobile-nav__toggle i::after { position: absolute; left: 0; }.home .yy-mobile-nav__toggle i::before { top: -5px; }.home .yy-mobile-nav__toggle i::after { top: 5px; }
	.home .yy-mobile-nav.is-open .yy-mobile-nav__toggle { color: #24382c; background: #dbbd78; }.home .yy-mobile-nav.is-open .yy-mobile-nav__toggle i { background: transparent; }.home .yy-mobile-nav.is-open .yy-mobile-nav__toggle i::before { top: 0; transform: rotate(45deg); }.home .yy-mobile-nav.is-open .yy-mobile-nav__toggle i::after { top: 0; transform: rotate(-45deg); }
	.home .yy-mobile-nav__panel { position: absolute; top: 100%; right: 0; left: 0; padding: 30px max(24px, calc((100vw - 920px) / 2)) 27px; color: #23392e; background: linear-gradient(90deg, rgba(247, 242, 232, .96) 0%, rgba(247, 242, 232, .83) 57%, rgba(247, 242, 232, .93) 100%), url('assets/images/yangyuanquan/product-stories-landscape-v1.png') center / cover no-repeat; border-bottom: 1px solid rgba(42, 58, 47, .2); box-shadow: 0 16px 25px rgba(26, 43, 32, .16); }
	.home .yy-mobile-nav__panel > p:first-child { margin: 0 0 19px; color: #a47e3d; font-size: 11px; font-weight: 700; letter-spacing: .2em; }.home .yy-mobile-nav__links { margin: 0; padding: 0; list-style: none; }.home .yy-mobile-nav__links li { border-top: 1px solid rgba(42, 58, 47, .17); }.home .yy-mobile-nav__links li:last-child { border-bottom: 1px solid rgba(42, 58, 47, .17); }.home .yy-mobile-nav__links a { display: flex; align-items: center; justify-content: space-between; min-height: 52px; color: #22382d; font-family: var(--yy-serif); font-size: 19px; letter-spacing: .08em; text-decoration: none; }.home .yy-mobile-nav__links a span { color: #ad8947; font-family: var(--yy-sans); font-size: 16px; }.home .yy-mobile-nav__links a:active, .home .yy-mobile-nav__links a:focus { color: #a17b39; }.home .yy-mobile-nav__elements { margin: 22px 0 0; color: #7a806d; font-size: 10px; font-weight: 700; letter-spacing: .25em; text-align: center; }
	.admin-bar .home .yy-mobile-nav { top: 32px; }
}
@media (max-width: 782px) { .admin-bar .home .yy-mobile-nav { top: 46px; } }
@media (max-width: 575px) { .home .yy-mobile-nav__bar { min-height: 69px; padding-right: 20px; padding-left: 20px; }.home .yy-mobile-nav__brand { font-size: 20px; }.home .yy-mobile-nav__brand small { font-size: 8px; }.home .yy-mobile-nav__toggle { gap: 9px; min-height: 39px; padding: 0 11px 0 12px; font-size: 10px; }.home .yy-mobile-nav__panel { padding: 25px 20px 24px; }.home .yy-mobile-nav__links a { min-height: 49px; font-size: 17px; } }

/* 同一张双养插画在 PC 横向容器中从顶部取景，避免裁掉画内日轮；移动端维持居中构图。 */
@media (min-width: 992px) { .yy-dual__visual { background-position: center top; } }

/* 五行草本系列：平板与移动端卡片增多，背景景图仅作为顶部等比场景，禁止跟随整段高度拉伸。 */
@media (max-width: 991px) {
	.yy-products { overflow: hidden; background-color: #eee5d2; background-image: none !important; }
	.yy-products::after { content: ""; position: absolute; z-index: 0; top: 0; right: 0; left: 0; height: clamp(405px, 56vw, 520px); pointer-events: none; background-image: linear-gradient(to bottom, rgba(249,246,236,.28) 0%, rgba(238,229,210,.62) 53%, #eee5d2 100%), var(--yy-products-background, none); background-position: center, 57% top; background-size: 100% 100%, cover; background-repeat: no-repeat, no-repeat; }
	.yy-products::before { z-index: 1; }
	.yy-products .container { position: relative; z-index: 2; }
}

/* 五行风物志移动端：由桌面交错双栏改为连续纵向章节，避免大字、名称与正文互相挤压。 */
@media (max-width: 767px) {
	.yy-product-stories { padding: 72px 0; }
	.yy-product-stories__header h2 { font-size: clamp(31px, 9vw, 39px); line-height: 1.32; }
	.yy-product-stories__header > p:last-child { margin-top: 20px; font-size: 14px; line-height: 1.9; }
	.yy-product-stories__list { margin-top: 38px; gap: 0; }
	.yy-product-story, .yy-product-story + .yy-product-story, .yy-product-story:nth-child(2), .yy-product-story:nth-child(3), .yy-product-story:nth-child(4), .yy-product-story:nth-child(5) { display: block; width: 100%; margin: 0; padding: 27px 0 30px; }
	.yy-product-story + .yy-product-story { margin-top: 0; }
	.yy-product-story:nth-child(even) { text-align: left; }
	.yy-product-story:nth-child(even) .yy-product-story__identity, .yy-product-story__identity { min-height: 0; padding: 0 0 0 78px; }
	.yy-product-story:nth-child(even) .yy-product-story__identity b, .yy-product-story__identity b { top: 2px; right: auto; left: 0; font-size: 64px; line-height: .82; opacity: .48; }
	.yy-product-story__identity span { margin-bottom: 8px; font-size: 11px; letter-spacing: .13em; }
	.yy-product-story__identity p { margin-bottom: 7px; font-size: 11px; letter-spacing: .08em; }
	.yy-product-story__identity h3 { font-size: clamp(25px, 7.2vw, 31px); line-height: 1.28; white-space: normal; }
	.yy-product-story:nth-child(even) .yy-product-story__copy, .yy-product-story__copy { max-width: none; margin-top: 20px; }
	.yy-product-story:nth-child(even) .yy-product-story__copy p, .yy-product-story__copy p { margin-bottom: 12px; font-size: 14px; line-height: 1.95; text-align: left; }
	.yy-product-story__slogan { margin-bottom: 15px !important; font-size: 19px !important; line-height: 1.55 !important; letter-spacing: .06em; }
}

/* 五方五时信息在手机端改为完整纵向清单，避免五列标签被压缩成难以阅读的窄格。 */
@media (max-width: 575px) {
	.yy-botanicals__panel { min-height: 0; padding: 44px 22px 27px; background-image: linear-gradient(180deg, rgba(248,243,231,.94) 0%, rgba(248,243,231,.86) 48%, rgba(248,243,231,.96) 100%), var(--yy-directions-background, none); background-position: center, 58% center; background-size: 100% 100%, cover; }
	.yy-botanicals__legend { position: relative; right: auto; bottom: auto; left: auto; display: grid; grid-template-columns: 1fr; gap: 0; margin-top: 29px; overflow: visible; background: transparent; box-shadow: none; }
	.yy-botanicals__legend span { min-height: 56px; display: grid; grid-template-columns: 37px minmax(0, 1fr) auto; align-items: center; justify-content: initial; gap: 10px; padding: 8px 0; color: #29382f; background: transparent; font-size: 12px; }
	.yy-botanicals__legend span + span { border-top: 1px solid rgba(49, 65, 52, .18); }
	.yy-botanicals__legend b { font-size: 27px; text-align: left; }.yy-botanicals__legend strong { font-size: 12px; letter-spacing: .06em; text-align: left; }.yy-botanicals__legend small { color: #59665a; font-size: 12px; font-weight: 700; white-space: nowrap; text-align: right; }
	.yy-botanicals__note { position: relative; right: auto; bottom: auto; left: auto; margin: 22px 0 0; color: #596359; font-size: 11px; line-height: 1.75; text-align: left; }
}

/* 风物志的产品身份区在手机端集中呈现；标语和叙事正文继续左对齐阅读。 */
@media (max-width: 767px) {
	.yy-product-story:nth-child(even) .yy-product-story__identity, .yy-product-story__identity { display: flex; flex-direction: column; align-items: center; padding: 0; text-align: center; }
	.yy-product-story:nth-child(even) .yy-product-story__identity b, .yy-product-story__identity b { position: static; order: 1; margin: 0 0 6px; font-size: 64px; line-height: .82; text-align: center; }
	.yy-product-story__identity span { order: 2; margin-bottom: 8px; }.yy-product-story__identity p { order: 3; margin-bottom: 8px; text-align: center; }.yy-product-story__identity h3 { order: 4; text-align: center; }
}

/* 桌面端五方五时图例向下留白，避免五行大字贴住面板上沿。 */
@media (min-width: 768px) { .yy-botanicals__legend { padding-top: 16px; padding-bottom: 8px; } }

/* 移动端 Banner 长说明落在山体区域时，使用轻宣纸底保证完整可读。 */
@media (max-width: 767px) { .yy-hero__sublead { max-width: calc(100% - 18px); margin-top: 2px; padding: 11px 13px; color: #1d352a; background: rgba(249, 246, 237, .28); font-size: 14px; font-weight: 500; line-height: 1.9; text-shadow: none; } }

/* Banner 下方引言：将原水印改为真实信息层级，完整保留三组文案而不互相叠压。 */
.yy-intro::before { display: none; }
.yy-intro .container { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 24px; }
.yy-intro .yy-intro__text { justify-self: start; margin: 0; }
.yy-intro .yy-intro__elements { justify-self: end; color: #d7b96f; font-size: 12px; font-weight: 700; letter-spacing: .24em; }
.yy-intro .yy-intro__watermark { justify-self: center; margin: 0; color: rgba(226, 211, 178, .58); font-family: var(--yy-serif); font-size: 14px; letter-spacing: .18em; white-space: nowrap; }
@media (max-width: 767px) { .yy-intro { padding: 19px 0; }.yy-intro .container { display: grid; grid-template-columns: 1fr; justify-items: start; gap: 8px; }.yy-intro .yy-intro__text { grid-column: 1; grid-row: 1; font-size: 17px; letter-spacing: .08em; }.yy-intro .yy-intro__watermark { grid-column: 1; grid-row: 2; justify-self: start; color: rgba(226, 211, 178, .68); font-size: 14px; letter-spacing: .16em; white-space: normal; }.yy-intro .yy-intro__elements { grid-column: 1; grid-row: 3; justify-self: start; font-size: 11px; letter-spacing: .2em; } }
