<!DOCTYPE html>
<html lang="zh-CN" class="scroll-smooth">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="icon" href="assets/favicon.png" type="image/png">
    <link rel="apple-touch-icon" href="assets/favicon.png">
    <link rel="preload" as="image" href="/dl/case/20260603210007.webp" fetchpriority="high" id="heroPreload">

    <title>品丰装饰 | 福州本土13年家装企业 | 用心服务 用爱筑家</title>
    <!-- Tailwind CSS（生产环境静态构建） -->
    <link rel="stylesheet" href="assets/tailwind.css?v=20260710-healthfix">
    <!-- Google Fonts - Inter -->
    <link href="http://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
    <!-- Font Awesome Icons -->
    <link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
    
    <style>
        /* Custom scrollbar to match minimal style */
        ::-webkit-scrollbar {
            width: 6px;
            height: 6px;
        }
        ::-webkit-scrollbar-track {
            background: #121212;
        }
        ::-webkit-scrollbar-thumb {
            background: #C2185B;
            border-radius: 3px;
        }
        
        /* Smooth Custom Cursor Styles for Desktop */
        @media (min-width: 1024px) {
            .custom-cursor {
                width: 8px;
                height: 8px;
                background-color: #C2185B;
                border-radius: 50%;
                position: fixed;
                transform: translate(-50%, -50%);
                pointer-events: none;
                z-index: 9999;
                transition: width 0.2s, height 0.2s, background-color 0.2s;
            }
            .custom-cursor-follower {
                width: 40px;
                height: 40px;
                border: 1px solid rgba(194, 24, 91, 0.4);
                border-radius: 50%;
                position: fixed;
                transform: translate(-50%, -50%);
                pointer-events: none;
                z-index: 9998;
                transition: transform 0.08s ease-out, width 0.2s, height 0.2s, border-color 0.2s;
            }
            .hover-active .custom-cursor {
                width: 24px;
                height: 24px;
                background-color: rgba(194, 24, 91, 0.2);
            }
            .hover-active .custom-cursor-follower {
                width: 60px;
                height: 60px;
                border-color: #C2185B;
            }
        }

        /* Image Ken Burns & Slider Transitions */
        .slide-img {
            transition: transform 8s ease, opacity 1.5s ease-in-out;
        }
        .slide-active img {
            transform: scale(1.1);
        }
        .hero-slide-overlay {
            background: linear-gradient(
                to top,
                rgba(0, 0, 0, 0.95) 0%,
                rgba(0, 0, 0, 0.72) 22%,
                rgba(0, 0, 0, 0.38) 48%,
                rgba(0, 0, 0, 0.12) 72%,
                transparent 100%
            );
        }
        
        /* Glassmorphism utility */
        .glass-panel {
            background: rgba(18, 18, 18, 0.8);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            border: 1px solid rgba(255, 255, 255, 0.08);
        }
        
        .glass-panel-light {
            background: rgba(255, 255, 255, 0.8);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            border: 1px solid rgba(0, 0, 0, 0.05);
        }

        /* Minimal outline buttons — same language as nav「预约估价」 */
        .btn-minimal-dark,
        .btn-minimal-light {
            display: inline-block;
            text-align: center;
            font-size: 0.75rem;
            font-weight: 300;
            letter-spacing: 0.1em;
            line-height: 1.25rem;
            border-radius: 0.125rem;
            transition: all 0.3s ease;
        }
        .btn-minimal-dark {
            padding: 0.625rem 1.25rem;
            border: 1px solid rgba(255, 255, 255, 0.4);
            color: #fff;
        }
        .btn-minimal-dark:hover {
            background: rgba(255, 255, 255, 0.1);
            border-color: #fff;
            color: #fff;
        }
        .btn-minimal-light {
            padding: 0.625rem 1.25rem;
            border: 1px solid rgba(18, 18, 18, 0.3);
            color: #121212;
        }
        .btn-minimal-light:hover {
            background: rgba(18, 18, 18, 0.05);
            border-color: #121212;
        }
        .btn-minimal-dark.block,
        .btn-minimal-light.block {
            display: block;
            width: 100%;
        }
        #hero .hero-cta {
            background: rgba(255, 255, 255, 0.28);
            border-color: rgba(255, 255, 255, 0.85);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            box-shadow: 0 2px 16px rgba(0, 0, 0, 0.15);
        }
        #hero .hero-cta:hover {
            background: rgba(255, 255, 255, 0.42);
            border-color: #fff;
        }
        .calc-option-btn {
            border: 1px solid rgba(255, 255, 255, 0.2);
            color: #fff;
            background: transparent;
            transition: all 0.3s ease;
        }
        .calc-option-btn:hover {
            border-color: rgba(255, 255, 255, 0.45);
            background: rgba(255, 255, 255, 0.06);
        }
        .calc-option-btn.is-active {
            border-color: rgba(255, 255, 255, 0.65);
            background: rgba(255, 255, 255, 0.08);
            color: #fff;
        }
        .team-scroll,
        .portfolio-scroll {
            -webkit-overflow-scrolling: touch;
            scrollbar-width: none;
        }
        .team-scroll::-webkit-scrollbar,
        .portfolio-scroll::-webkit-scrollbar {
            display: none;
        }
    </style>
</head>
<body class="bg-brand-dark text-white font-sans overflow-x-hidden selection:bg-brand-accent selection:text-brand-dark">

    <!-- Custom Cursor -->
    <div class="custom-cursor hidden lg:block" id="customCursor"></div>
    <div class="custom-cursor-follower hidden lg:block" id="customCursorFollower"></div>

    <!-- Navigation Bar -->
    <nav class="fixed top-0 left-0 w-full z-50 transition-all duration-500 py-6" id="navbar">
        <div class="max-w-7xl mx-auto px-6 md:px-12 flex justify-between items-center gap-4">
            <!-- Brand Logo -->
            <a href="/" class="inline-flex items-center shrink-0 cursor-pointer gap-1 sm:gap-1.5 min-w-0" aria-label="返回品丰装饰官网首页">
                <img src="assets/logo.png?v=20260603" alt="" class="h-6 lg:h-7 xl:h-8 w-auto max-w-[52px] lg:max-w-[58px] xl:max-w-[64px] object-contain object-left shrink-0" aria-hidden="true">
                <img src="assets/logo-text.png?v=20260603" alt="品丰装饰" class="h-4 sm:h-5 lg:h-6 w-auto max-w-[88px] sm:max-w-[96px] lg:max-w-[108px] object-contain object-left shrink-0">
            </a>

            <!-- Desktop Nav + CTA -->
            <div class="hidden lg:flex items-center gap-5 xl:gap-8 shrink-0">
                <div class="flex items-center gap-4 xl:gap-6 text-xs tracking-[0.12em] xl:tracking-[0.18em] font-light text-brand-light whitespace-nowrap">
                    <a href="#about" class="hover:text-brand-accent transition-colors py-2"><span class="xl:hidden">理念</span><span class="hidden xl:inline">理念 / PHILOSOPHY</span></a>
                    <a href="#team" class="hover:text-brand-accent transition-colors py-2"><span class="xl:hidden">团队</span><span class="hidden xl:inline">团队 / TEAM</span></a>
                    <a href="#portfolio" class="hover:text-brand-accent transition-colors py-2"><span class="xl:hidden">作品</span><span class="hidden xl:inline">作品 / PORTFOLIO</span></a>
                    <a href="#calculator" class="hover:text-brand-accent transition-colors py-2"><span class="xl:hidden">估价</span><span class="hidden xl:inline">估价 / CALCULATOR</span></a>
                    <a href="#workflow" class="hover:text-brand-accent transition-colors py-2"><span class="xl:hidden">服务</span><span class="hidden xl:inline">服务 / WORKFLOW</span></a>
                    <a href="#contact" class="hover:text-brand-accent transition-colors py-2"><span class="xl:hidden">咨询</span><span class="hidden xl:inline">咨询 / CONTACT</span></a>
                </div>
                <a href="#calculator" class="btn-minimal-dark shrink-0 whitespace-nowrap tracking-[0.2em] xl:tracking-widest">
                    预约估价
                </a>
            </div>

            <!-- Tablet/Mobile: CTA + Menu -->
            <div class="flex lg:hidden items-center gap-3 shrink-0">
                <a href="#calculator" class="btn-minimal-dark whitespace-nowrap text-[11px] tracking-[0.15em] py-2 px-3">
                    预约估价
                </a>
                <button class="text-white hover:text-brand-accent focus:outline-none" id="mobileMenuBtn">
                <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M4 6h16M4 12h16M4 18h16"></path></svg>
                </button>
            </div>
        </div>

        <!-- Mobile Menu Drawer -->
        <div class="fixed inset-0 bg-brand-dark z-40 translate-x-full transition-transform duration-500 ease-in-out lg:hidden flex flex-col justify-between p-8" id="mobileMenu">
            <div class="flex justify-between items-center mt-2">
                <a href="/" class="inline-flex items-center gap-1 min-w-0" onclick="toggleMobileMenu()" aria-label="返回品丰装饰官网首页">
                    <img src="assets/logo.png?v=20260603" alt="" class="h-6 w-auto max-w-[52px] object-contain shrink-0" aria-hidden="true">
                    <img src="assets/logo-text.png?v=20260603" alt="品丰装饰" class="h-4 w-auto max-w-[88px] object-contain shrink-0">
                </a>
                <button class="text-white hover:text-brand-accent focus:outline-none" id="mobileCloseBtn">
                    <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M6 18L18 6M6 6l12 12"></path></svg>
                </button>
            </div>
            
            <div class="flex flex-col space-y-6 text-xl tracking-[0.2em] font-light my-auto">
                <a href="#about" class="hover:text-brand-accent transition-colors inline-block" onclick="toggleMobileMenu()">理念 / ABOUT</a>
                <a href="#team" class="hover:text-brand-accent transition-colors inline-block" onclick="toggleMobileMenu()">团队 / TEAM</a>
                <a href="#portfolio" class="hover:text-brand-accent transition-colors inline-block" onclick="toggleMobileMenu()">作品 / PORTFOLIO</a>
                <a href="#calculator" class="hover:text-brand-accent transition-colors inline-block" onclick="toggleMobileMenu()">估价 / CALCULATOR</a>
                <a href="#workflow" class="hover:text-brand-accent transition-colors inline-block" onclick="toggleMobileMenu()">服务 / WORKFLOW</a>
                <a href="#contact" class="hover:text-brand-accent transition-colors inline-block" onclick="toggleMobileMenu()">咨询 / CONTACT</a>
            </div>

            <div class="border-t border-white/10 pt-6">
                <p class="text-xs text-brand-muted tracking-widest mb-4">TEL: <span data-cms-phone><a href="tel:059188389999" class="hover:text-brand-accent transition-colors">0591-8838 9999</a></span></p>
                <a href="#calculator" class="btn-minimal-dark block w-full tracking-widest text-sm py-3" onclick="toggleMobileMenu()">
                    在线获取全屋估价
                </a>
            </div>
        </div>
    </nav>

    <!-- Hero Slider Section -->
    <section class="relative h-screen w-full overflow-hidden bg-black" id="hero">
        <!-- Slider Images Wrapper -->
        <div class="absolute inset-0 z-0" id="heroSlider">
            <div class="slide slide-active absolute inset-0 opacity-100 transition-opacity duration-1500">
                <img src="/dl/case/20260603210007.webp"
                     alt="品丰装饰 · 现代客厅"
                     class="slide-img w-full h-full object-cover"
                     fetchpriority="high"
                     decoding="async">
                <div class="hero-slide-overlay absolute inset-0 z-10 pointer-events-none"></div>
            </div>
            <div class="slide absolute inset-0 opacity-0 transition-opacity duration-1500">
                <img src="/dl/case/20260603211041.webp"
                     alt="品丰装饰 · 卧室空间"
                     class="slide-img w-full h-full object-cover"
                     loading="lazy"
                     decoding="async">
                <div class="hero-slide-overlay absolute inset-0 z-10 pointer-events-none"></div>
            </div>
        </div>

        <!-- Hero Content Overlays -->
        <div class="relative z-20 h-full max-w-7xl mx-auto px-6 md:px-12 flex flex-col justify-end items-start pb-20 md:pb-28">
            <div class="space-y-6 max-w-3xl transform transition-transform duration-1000 translate-y-0" id="heroContent">
                <h1 class="text-4xl md:text-7xl font-light tracking-wide leading-tight md:leading-snug text-white" id="heroTitle">
                    用心服务，<br><span class="font-normal text-brand-accent" id="heroTitleAccent">用爱筑家。</span>
                </h1>
                <p class="text-brand-light/70 text-sm md:text-base font-light tracking-wider max-w-xl leading-relaxed" id="heroSubtitle">
                    品丰装饰以专业设计与可靠施工，为您打造舒适、实用、有品位的理想居所。
                </p>
            </div>
        </div>

    </section>

    <!-- Brand Philosophy Section -->
    <section class="py-24 md:py-36 bg-brand-dark relative" id="about">
        <div class="max-w-7xl mx-auto px-6 md:px-12">
            <!-- Section Header -->
            <div class="grid grid-cols-1 md:grid-cols-12 gap-6 md:gap-12 items-end mb-16 md:mb-24">
                <div class="md:col-span-8 space-y-3">
                    <span class="text-brand-accent text-xs tracking-[0.4em] uppercase block">PHILOSOPHY</span>
                    <h2 class="text-3xl md:text-5xl font-light tracking-wide text-white leading-tight">
                        回归纯粹，探寻人居本真。
                    </h2>
                </div>
                <div class="md:col-span-4">
                    <p class="text-brand-muted text-xs md:text-sm tracking-widest leading-relaxed">
                        在瞬息万变的信息洪流中，我们更渴望为每位业主营造一片隔绝尘嚣、安顿身心的隐秘私域。
                    </p>
                </div>
            </div>

            <!-- Philosophy pillars -->
            <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8 md:gap-10 lg:gap-8">
                <!-- Card 1 -->
                <div class="group border-t border-white/10 pt-8 flex flex-col hover:border-brand-accent transition-colors duration-500">
                    <div>
                        <span class="text-brand-accent text-lg font-light">01 /</span>
                        <h3 class="text-xl font-light tracking-widest text-white mt-4 mb-3">纯粹现代审美</h3>
                        <p class="text-brand-muted text-xs md:text-sm leading-relaxed tracking-wide font-light">
                            不随波逐流。我们深度聚焦于极简现代、意式极奢与温暖侘寂。通过大面积无边框、无框踢脚线、极窄隐形门，塑造不落俗套的纯正奢华空间。
                        </p>
                    </div>
                </div>

                <!-- Card 2 -->
                <div class="group border-t border-white/10 pt-8 flex flex-col hover:border-brand-accent transition-colors duration-500">
                    <div>
                        <span class="text-brand-accent text-lg font-light">02 /</span>
                        <h3 class="text-xl font-light tracking-widest text-white mt-4 mb-3">精工品质隐蔽工程</h3>
                        <p class="text-brand-muted text-xs md:text-sm leading-relaxed tracking-wide font-light">
                            面子是美学，底子是生命。坚持高标准隐蔽工程体系，严选高端辅材与成熟施工工艺，全程高标准过程管控。
                        </p>
                    </div>
                </div>

                <!-- Card 3 -->
                <div class="group border-t border-white/10 pt-8 flex flex-col hover:border-brand-accent transition-colors duration-500">
                    <div>
                        <span class="text-brand-accent text-lg font-light">03 /</span>
                        <h3 class="text-xl font-light tracking-widest text-white mt-4 mb-3">数字化透明管理</h3>
                        <p class="text-brand-muted text-xs md:text-sm leading-relaxed tracking-wide font-light">
                            全流程闭口合同，绝无隐形强制增项。通过独立“智慧工地”实时播报，主辅材、隐蔽工程、定制板材节点多维云验，实现无操心、高还原交付。
                        </p>
                    </div>
                </div>

                <!-- Card 4 -->
                <div class="group border-t border-white/10 pt-8 flex flex-col hover:border-brand-accent transition-colors duration-500">
                    <div>
                        <span class="text-brand-accent text-lg font-light">04 /</span>
                        <h3 class="text-xl font-light tracking-widest text-white mt-4 mb-3">国潮一线品牌严选</h3>
                        <p class="text-brand-muted text-xs md:text-sm leading-relaxed tracking-wide font-light">
                            不盲目崇洋，也不将就平庸。精选国内一线国潮品牌及高品质主辅材体系，兼顾设计表现、环保标准、耐用性能与交付稳定性。
                        </p>
                    </div>
                </div>
            </div>
        </div>
    </section>

    <!-- Design Team Section -->
    <section class="pt-24 md:pt-32 pb-12 md:pb-16 bg-brand-light text-brand-dark relative overflow-hidden" id="team">
        <div class="absolute top-0 right-0 w-72 h-72 bg-brand-accent/5 rounded-full blur-[100px] pointer-events-none"></div>

        <div class="max-w-7xl mx-auto px-6 md:px-12 relative z-10">
            <div class="grid grid-cols-1 lg:grid-cols-12 gap-8 lg:gap-12 items-end mb-10 md:mb-12">
                <div class="lg:col-span-7 space-y-3">
                    <span class="text-brand-accent text-xs tracking-[0.4em] uppercase block">DESIGN TEAM</span>
                    <h2 class="text-3xl md:text-5xl font-light tracking-wide leading-tight">
                        专业设计团队
                    </h2>
                </div>
                <div class="lg:col-span-5">
                    <p class="text-brand-muted text-xs md:text-sm tracking-wider leading-relaxed font-light">
                        品丰装饰拥有经验丰富的设计师团队，从方案构思、效果图呈现到施工落地全程跟进，为每一位业主提供专属家装解决方案。
                    </p>
                </div>
            </div>

            <div id="teamGrid" class="team-scroll flex gap-4 overflow-x-auto snap-x snap-mandatory scroll-smooth pb-3 max-lg:-mx-6 max-lg:pl-6 max-lg:pr-6 max-lg:md:pl-12 max-lg:md:pr-12 max-lg:scroll-pl-6 max-lg:md:scroll-pl-12 lg:grid lg:grid-cols-4 lg:gap-6 lg:gap-8 lg:overflow-visible lg:pb-0 lg:snap-none lg:mx-0 lg:pl-0 lg:pr-0"></div>
        </div>
    </section>

    <!-- Interactive Portfolio Section -->
    <section class="pt-12 md:pt-16 pb-24 bg-brand-light text-brand-dark" id="portfolio">
        <div class="max-w-7xl mx-auto px-6 md:px-12">
            <!-- Section Header (same layout as 理念 / 团队) -->
            <div class="grid grid-cols-1 lg:grid-cols-12 gap-8 lg:gap-12 items-end mb-10 md:mb-12">
                <div class="lg:col-span-7 space-y-3">
                    <span class="text-brand-accent text-xs tracking-[0.4em] uppercase block">PORTFOLIO</span>
                    <h2 class="text-3xl md:text-5xl font-light tracking-wide leading-tight">
                        精选实景案例
                    </h2>
                </div>
                <div class="lg:col-span-5">
                    <p class="text-brand-muted text-xs md:text-sm tracking-wider leading-relaxed font-light">
                        真实完工项目展示，涵盖现代简约、意式轻奢与侘寂风格。
                    </p>
                </div>
            </div>

            <!-- Portfolio Grid -->
            <div id="portfolioGrid" class="portfolio-scroll team-scroll flex gap-4 overflow-x-auto snap-x snap-mandatory scroll-smooth pb-3 max-lg:-mx-6 max-lg:pl-6 max-lg:pr-6 max-lg:md:pl-12 max-lg:md:pr-12 max-lg:scroll-pl-6 max-lg:md:scroll-pl-12 lg:grid lg:grid-cols-3 lg:gap-6 lg:gap-8 lg:overflow-visible lg:pb-0 lg:snap-none lg:mx-0 lg:pl-0 lg:pr-0">
                <!-- Case 1 -->
                <div class="case-item group flex-shrink-0 w-[82vw] max-w-[320px] snap-start lg:w-auto lg:max-w-none lg:flex-shrink bg-white rounded-lg overflow-hidden shadow-sm hover:shadow-xl transition-all duration-500" data-category="minimalist">
                    <div class="relative overflow-hidden aspect-[4/3] bg-neutral-200">
                        <img src="http://images.unsplash.com/photo-1600210492486-724fe5c67fb0?auto=format&fit=crop&w=800&q=80" 
                             alt="溯光" 
                             class="w-full h-full object-cover group-hover:scale-105 transition-transform duration-700 ease-out"
                             onerror="this.src='http://placehold.co/800x600/F5F5F7/121212?text=Case+1'">
                        <div class="absolute inset-0 bg-brand-dark/20 group-hover:bg-brand-dark/40 transition-colors duration-300"></div>
                        <span class="absolute top-4 left-4 bg-white/90 text-brand-dark text-[10px] tracking-widest px-3 py-1 uppercase rounded-sm font-medium">MINIMALIST</span>
                    </div>
                    <div class="p-6 md:p-8">
                        <h3 class="text-xl font-normal tracking-wide text-brand-dark group-hover:text-brand-accent transition-colors">《 溯 光 》</h3>
                        <p class="text-brand-muted text-xs mt-2 font-light">全屋微水泥 / 260㎡ 复式别墅</p>
                        <p class="text-brand-muted text-xs mt-2 font-light line-clamp-2">无主灯设计 · 隐藏储物 · 悬挑悬空梯</p>
                        <div class="mt-4 pt-4 border-t border-brand-border">
                            <a href="#contact" class="btn-minimal-light block w-full tracking-widest py-3">咨询同款</a>
                        </div>
                    </div>
                </div>

                <!-- Case 2 -->
                <div class="case-item group flex-shrink-0 w-[82vw] max-w-[320px] snap-start lg:w-auto lg:max-w-none lg:flex-shrink bg-white rounded-lg overflow-hidden shadow-sm hover:shadow-xl transition-all duration-500" data-category="italian">
                    <div class="relative overflow-hidden aspect-[4/3] bg-neutral-200">
                        <img src="http://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=800&q=80" 
                             alt="曜石" 
                             class="w-full h-full object-cover group-hover:scale-105 transition-transform duration-700 ease-out"
                             onerror="this.src='http://placehold.co/800x600/F5F5F7/121212?text=Case+2'">
                        <div class="absolute inset-0 bg-brand-dark/20 group-hover:bg-brand-dark/40 transition-colors duration-300"></div>
                        <span class="absolute top-4 left-4 bg-white/90 text-brand-dark text-[10px] tracking-widest px-3 py-1 uppercase rounded-sm font-medium">ITALIAN LUXURY</span>
                    </div>
                    <div class="p-6 md:p-8">
                        <h3 class="text-xl font-normal tracking-wide text-brand-dark group-hover:text-brand-accent transition-colors">《 曜 石 》</h3>
                        <p class="text-brand-muted text-xs mt-2 font-light">意式深调极奢 / 180㎡ 大平层</p>
                        <p class="text-brand-muted text-xs mt-2 font-light line-clamp-2">黑白大理石 · 智联生态 · 隐形推拉门</p>
                        <div class="mt-4 pt-4 border-t border-brand-border">
                            <a href="#contact" class="btn-minimal-light block w-full tracking-widest py-3">咨询同款</a>
                        </div>
                    </div>
                </div>

                <!-- Case 3 -->
                <div class="case-item group flex-shrink-0 w-[82vw] max-w-[320px] snap-start lg:w-auto lg:max-w-none lg:flex-shrink bg-white rounded-lg overflow-hidden shadow-sm hover:shadow-xl transition-all duration-500" data-category="wabi">
                    <div class="relative overflow-hidden aspect-[4/3] bg-neutral-200">
                        <img src="http://images.unsplash.com/photo-1616486338812-3dadae4b4ace?auto=format&fit=crop&w=800&q=80" 
                             alt="归隐" 
                             class="w-full h-full object-cover group-hover:scale-105 transition-transform duration-700 ease-out"
                             onerror="this.src='http://placehold.co/800x600/F5F5F7/121212?text=Case+3'">
                        <div class="absolute inset-0 bg-brand-dark/20 group-hover:bg-brand-dark/40 transition-colors duration-300"></div>
                        <span class="absolute top-4 left-4 bg-white/90 text-brand-dark text-[10px] tracking-widest px-3 py-1 uppercase rounded-sm font-medium">WABI-SABI</span>
                    </div>
                    <div class="p-6 md:p-8">
                        <h3 class="text-xl font-normal tracking-wide text-brand-dark group-hover:text-brand-accent transition-colors">《 归 隐 》</h3>
                        <p class="text-brand-muted text-xs mt-2 font-light">侘寂隐奢艺术 / 140㎡ 意境宅</p>
                        <p class="text-brand-muted text-xs mt-2 font-light line-clamp-2">艺术骨料涂料 · 环抱穹顶 · 原木与粗石</p>
                        <div class="mt-4 pt-4 border-t border-brand-border">
                            <a href="#contact" class="btn-minimal-light block w-full tracking-widest py-3">咨询同款</a>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </section>

    <!-- Case Study Modal -->
    <div class="fixed inset-0 z-50 overflow-y-auto hidden" id="caseModal">
        <div class="min-h-screen px-4 text-center flex items-center justify-center">
            <!-- Modal Overlay -->
            <div class="fixed inset-0 bg-black/80 backdrop-blur-md transition-opacity" onclick="closeCaseModal()"></div>

            <!-- Modal Body -->
            <div class="inline-block bg-brand-dark text-white rounded-lg text-left overflow-hidden shadow-2xl transform transition-all my-8 max-w-4xl w-full relative border border-white/10">
                <button onclick="closeCaseModal()" class="absolute top-6 right-6 text-white hover:text-brand-accent text-2xl z-10 focus:outline-none">
                    <i class="fa-solid fa-xmark"></i>
                </button>
                
                <div class="grid grid-cols-1 md:grid-cols-2">
                    <!-- Modal Images -->
                    <div class="h-64 md:h-full relative min-h-[400px]">
                        <img id="modalImg" src="" alt="Project Image" class="w-full h-full object-cover">
                    </div>
                    <!-- Modal Details -->
                    <div class="p-8 md:p-12 flex flex-col justify-between">
                        <div>
                            <span class="text-brand-accent text-xs tracking-widest uppercase" id="modalTag">Style</span>
                            <h3 class="text-3xl font-light tracking-wide mt-2 mb-4" id="modalTitle">Title</h3>
                            <div class="space-y-4 text-brand-muted text-xs md:text-sm font-light leading-relaxed">
                                <p id="modalDesc">这里是案例的详细说明，描述了设计灵感的来源和对现代生活美学的致敬。</p>
                                <div class="bg-white/5 p-4 rounded-sm border border-white/10 space-y-2 mt-4">
                                    <div class="flex justify-between"><span class="text-white/60">项目户型：</span><span class="text-white" id="modalLayout">-</span></div>
                                    <div class="flex justify-between"><span class="text-white/60">项目面积：</span><span class="text-white" id="modalArea">-</span></div>
                                    <div class="flex justify-between"><span class="text-white/60">核心选材：</span><span class="text-white" id="modalMaterials">-</span></div>
                                </div>
                            </div>
                        </div>
                        <div class="pt-8">
                            <a href="#calculator" onclick="closeCaseModal()" class="btn-minimal-dark block w-full tracking-widest py-3">
                                预约同款实景设计
                            </a>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <!-- Interactive Budget Calculator Section -->
    <section class="py-24 bg-brand-dark relative" id="calculator">
        <!-- Structural Background Gradients -->
        <div class="absolute top-0 right-0 w-1/3 h-1/3 bg-brand-accent/5 rounded-full blur-[120px] pointer-events-none"></div>
        <div class="absolute bottom-0 left-0 w-1/4 h-1/4 bg-white/5 rounded-full blur-[100px] pointer-events-none"></div>

        <div class="max-w-7xl mx-auto px-6 md:px-12 relative z-10">
            <div class="text-center max-w-2xl mx-auto mb-16">
                <span class="text-brand-accent text-xs tracking-[0.4em] uppercase block mb-3">BUDGET CALCULATOR</span>
                <h2 class="text-3xl md:text-5xl font-light tracking-wide text-white">
                    一键获取智能预算
                </h2>
                <p class="text-brand-muted text-xs md:text-sm tracking-widest mt-4 leading-relaxed">
                    基于隐奢美学与工艺标准，实时演算深度报价表，价格全闭口无强制隐形收费。
                </p>
            </div>

            <!-- Calculator Glass Box -->
            <div class="glass-panel rounded-2xl p-6 md:p-12 max-w-5xl mx-auto grid grid-cols-1 lg:grid-cols-12 gap-12">
                <!-- Left: Interactive Inputs -->
                <div class="lg:col-span-7 space-y-8">
                    <!-- Input Area Slider -->
                    <div>
                        <div class="flex justify-between items-center mb-4">
                            <label class="text-sm tracking-wider text-white font-light">1. 建筑/套内面积 (㎡)</label>
                            <span class="text-2xl font-light text-brand-accent" id="areaValueDisplay">120 ㎡</span>
                        </div>
                        <input type="range" id="areaInput" min="50" max="350" value="120" step="5"
                               class="w-full h-[3px] bg-white/10 rounded-lg appearance-none cursor-pointer accent-brand-accent focus:outline-none">
                        <div class="flex justify-between text-[10px] text-brand-muted tracking-widest mt-2">
                            <span>50 ㎡</span>
                            <span>150 ㎡</span>
                            <span>250 ㎡</span>
                            <span>350 ㎡+</span>
                        </div>
                    </div>

                    <!-- Contract Type Select -->
                    <div>
                        <label class="text-sm tracking-wider text-white font-light block mb-4">2. 选择承包形式</label>
                        <div class="grid grid-cols-3 gap-3">
                            <button type="button" onclick="setCalcContract('semi', this)" class="contract-select-btn calc-option-btn is-active px-4 py-3 text-xs tracking-wider font-light rounded-sm w-full">
                                半包
                            </button>
                            <button type="button" onclick="setCalcContract('full', this)" class="contract-select-btn calc-option-btn px-4 py-3 text-xs tracking-wider font-light rounded-sm w-full">
                                全包
                            </button>
                            <button type="button" onclick="setCalcContract('turnkey', this)" class="contract-select-btn calc-option-btn px-4 py-3 text-xs tracking-wider font-light rounded-sm w-full">
                                全案
                            </button>
                        </div>
                    </div>

                    <!-- Material Grade -->
                    <div>
                        <label class="text-sm tracking-wider text-white font-light block mb-4">3. 选择材料等级</label>
                        <div class="grid grid-cols-1 sm:grid-cols-3 gap-3">
                            <button type="button" onclick="setCalcTier('m1', this)" class="tier-select-btn calc-option-btn is-active p-4 text-left rounded-sm w-full">
                                <div class="flex justify-between items-center mb-1 gap-2">
                                    <span class="text-sm font-light tracking-wide">M1 艺术家系列</span>
                                    <i class="fa-regular fa-circle-check shrink-0"></i>
                                </div>
                                <span class="text-[10px] text-brand-muted leading-relaxed block mt-1">全屋一线环保辅材，平价配置需求</span>
                            </button>
                            <button type="button" onclick="setCalcTier('m2', this)" class="tier-select-btn calc-option-btn p-4 text-left rounded-sm w-full">
                                <div class="flex justify-between items-center mb-1 gap-2">
                                    <span class="text-sm font-light tracking-wide">M2 臻享家系列</span>
                                    <i class="fa-regular fa-circle shrink-0"></i>
                                </div>
                                <span class="text-[10px] text-brand-muted leading-relaxed block mt-1">首席主案设计，全一线主辅材按需定制</span>
                            </button>
                            <button type="button" onclick="setCalcTier('m3', this)" class="tier-select-btn calc-option-btn p-4 text-left rounded-sm w-full">
                                <div class="flex justify-between items-center mb-1 gap-2">
                                    <span class="text-sm font-light tracking-wide">M3 尊享家系列</span>
                                    <i class="fa-regular fa-circle shrink-0"></i>
                                </div>
                                <span class="text-[10px] text-brand-muted leading-relaxed block mt-1">总监主案设计，满足全方位全案定制需求</span>
                            </button>
                        </div>
                    </div>
                </div>

                <!-- Right: Dynamic Price Showcase -->
                <div class="lg:col-span-5 bg-white/[0.02] border border-white/5 p-6 md:p-8 rounded-xl flex flex-col justify-between">
                    <div>
                        <h4 class="text-xs tracking-[0.3em] text-brand-muted uppercase mb-4">ESTIMATED TOTAL BUDGET</h4>
                        <div class="mb-6">
                            <span class="text-4xl md:text-5xl font-light text-brand-accent whitespace-nowrap tabular-nums leading-tight tracking-tight" id="totalPrice">￥288,000</span>
                            <p class="text-[10px] md:text-xs text-brand-muted mt-2 leading-snug tracking-wide">该价格包含设计费+基础辅材+主材物料+全屋定制</p>
                        </div>
                        
                        <!-- Cost Breakdown -->
                        <div class="space-y-3.5 border-t border-white/10 pt-6">
                            <div class="flex justify-between text-xs tracking-wider">
                                <span class="text-brand-muted font-light">全案美学主设费用</span>
                                <span class="text-white font-medium" id="designFee">￥ 18,000</span>
                            </div>
                            <div class="flex justify-between text-xs tracking-wider">
                                <span class="text-brand-muted font-light">德系高标隐蔽基装</span>
                                <span class="text-white font-medium" id="baseFee">￥ 96,000</span>
                            </div>
                            <div class="flex justify-between text-xs tracking-wider">
                                <span class="text-brand-muted font-light">主材大底物料精选</span>
                                <span class="text-white font-medium" id="materialFee">￥ 120,000</span>
                            </div>
                            <div class="flex justify-between text-xs tracking-wider">
                                <span class="text-brand-muted font-light">高定极简木作收纳</span>
                                <span class="text-white font-medium" id="customFee">￥ 54,000</span>
                            </div>
                        </div>
                    </div>

                    <!-- CTA Submission in Calculator -->
                    <div class="mt-8">
                        <p class="text-[10px] text-brand-muted text-center mb-4 leading-normal">根据您的专属报价，支持1对1设计师微信上门现场量房，承诺方案免费初排。</p>
                        <a href="#contact" class="btn-minimal-dark block w-full tracking-widest py-3">
                            锁定报价 · 预约量房
                        </a>
                    </div>
                </div>
            </div>
        </div>
    </section>

    <!-- Service Workflow Section -->
    <section class="py-24 md:py-32 bg-brand-light text-brand-dark relative overflow-hidden" id="workflow">
        <div class="max-w-7xl mx-auto px-6 md:px-12 relative z-10">
            <div class="grid grid-cols-1 lg:grid-cols-12 gap-8 lg:gap-12 items-end mb-16 md:mb-20">
                <div class="lg:col-span-7 space-y-3">
                    <span class="text-brand-accent text-xs tracking-[0.4em] uppercase block">WORKFLOW</span>
                    <h2 class="text-3xl md:text-5xl font-light tracking-wide leading-tight">
                        服务流程
                    </h2>
                </div>
                <div class="lg:col-span-5">
                    <p class="text-brand-muted text-xs md:text-sm tracking-wider leading-relaxed font-light">
                        从一纸初稿到完美落地，五维管家式链路确保方案的极致还原。
                    </p>
                </div>
            </div>

            <!-- Workflow Timeline Grid -->
            <div class="relative">
                <!-- Center Progress Line (Desktop) -->
                <div class="absolute left-1/2 top-0 bottom-0 w-[1px] bg-brand-dark/10 -translate-x-1/2 hidden lg:block">
                    <!-- Dynamic Progress Fill on hover/active step -->
                    <div class="absolute top-0 left-0 w-full bg-brand-accent transition-all duration-500" id="timelineProgress" style="height: 20%;"></div>
                </div>

                <!-- Steps List -->
                <div class="space-y-12 lg:space-y-24 relative">
                    <!-- Step 1 -->
                    <div class="grid grid-cols-1 lg:grid-cols-2 gap-8 items-center timeline-step" onmouseenter="updateTimeline(20)">
                        <div class="lg:text-right lg:pr-16 order-2 lg:order-1">
                            <span class="text-brand-accent text-sm tracking-widest font-semibold block mb-2">01. 灵感初见 / CONVERSATION</span>
                            <h3 class="text-xl font-normal text-brand-dark mb-4">需求对话与原居诊断</h3>
                            <p class="text-brand-muted text-xs md:text-sm font-light leading-relaxed">
                                我们首创“生活方式模型测试”，1对1倾听您的审美癖好、日常动线与未来规划，并对老房/新房进行全方位精细红外量房、采光声学评估。
                            </p>
                        </div>
                        <div class="flex justify-start lg:pl-16 order-1 lg:order-2">
                            <div class="w-12 h-12 bg-brand-dark text-white rounded-full flex items-center justify-center font-light z-10 border-4 border-white shadow-md lg:-translate-x-[50%]">
                                1
                            </div>
                        </div>
                    </div>

                    <!-- Step 2 -->
                    <div class="grid grid-cols-1 lg:grid-cols-2 gap-8 items-center timeline-step" onmouseenter="updateTimeline(45)">
                        <div class="flex lg:justify-end lg:pr-16 justify-start order-1">
                            <div class="w-12 h-12 bg-brand-dark text-white rounded-full flex items-center justify-center font-light z-10 border-4 border-white shadow-md lg:translate-x-[50%]">
                                2
                            </div>
                        </div>
                        <div class="lg:pl-16 order-2">
                            <span class="text-brand-accent text-sm tracking-widest font-semibold block mb-2">02. 深度提案 / CREATIVE SCHEME</span>
                            <h3 class="text-xl font-normal text-brand-dark mb-4">全屋动线规划与情绪板提案</h3>
                            <p class="text-brand-muted text-xs md:text-sm font-light leading-relaxed">
                                输出3套空间功能重构动线。打破传统隔阂，构建起复合式公区布局，通过光影分析仪（3D Max/Enscape）渲染定制情绪看板（Mood Boards）与材质样板。
                            </p>
                        </div>
                    </div>

                    <!-- Step 3 -->
                    <div class="grid grid-cols-1 lg:grid-cols-2 gap-8 items-center timeline-step" onmouseenter="updateTimeline(70)">
                        <div class="lg:text-right lg:pr-16 order-2 lg:order-1">
                            <span class="text-brand-accent text-sm tracking-widest font-semibold block mb-2">03. 闭口签约 / FIXED BUDGET</span>
                            <h3 class="text-xl font-normal text-brand-dark mb-4">施工节点白皮书与报价全透明</h3>
                            <p class="text-brand-muted text-xs md:text-sm font-light leading-relaxed">
                                形成120+张全套深化施工图纸与精准立面大样。严格执行闭口协议，不出现“项数漏列”引发的被迫恶性增项。材料标号一目了然，一键锁定。
                            </p>
                        </div>
                        <div class="flex justify-start lg:pl-16 order-1 lg:order-2">
                            <div class="w-12 h-12 bg-brand-dark text-white rounded-full flex items-center justify-center font-light z-10 border-4 border-white shadow-md lg:-translate-x-[50%]">
                                3
                            </div>
                        </div>
                    </div>

                    <!-- Step 4 -->
                    <div class="grid grid-cols-1 lg:grid-cols-2 gap-8 items-center timeline-step" onmouseenter="updateTimeline(100)">
                        <div class="flex lg:justify-end lg:pr-16 justify-start order-1">
                            <div class="w-12 h-12 bg-brand-dark text-white rounded-full flex items-center justify-center font-light z-10 border-4 border-white shadow-md lg:translate-x-[50%]">
                                4
                            </div>
                        </div>
                        <div class="lg:pl-16 order-2">
                            <span class="text-brand-accent text-sm tracking-widest font-semibold block mb-2">04. 德系精工与终身质保 / EXECUTION</span>
                            <h3 class="text-xl font-normal text-brand-dark mb-4">精工匠人施工与私享管家联防</h3>
                            <p class="text-brand-muted text-xs md:text-sm font-light leading-relaxed">
                                金牌项目监理每日微信群同步工地日报。水电路、防水施工、吊顶转角、微水泥施工分级验收，提供独家隐蔽工程10年、终身维保保修。
                            </p>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </section>

    <!-- Appointment Contact Section -->
    <section class="py-24 bg-brand-dark relative" id="contact">
        <div class="max-w-7xl mx-auto px-6 md:px-12">
            <div class="grid grid-cols-1 lg:grid-cols-12 gap-12 items-center">
                <!-- Left Details -->
                <div class="lg:col-span-5 space-y-6">
                    <span class="text-brand-accent text-xs tracking-[0.4em] uppercase block">CONTACT US</span>
                    <h2 class="text-3xl md:text-5xl font-light tracking-wide text-white leading-tight">
                        开始定义您的<br><span class="font-normal text-brand-accent">理想生活。</span>
                    </h2>
                    <p class="text-brand-muted text-xs md:text-sm leading-relaxed tracking-wider">
                        留不下的交给空间，留得下的交给时间。填写右侧意向需求表，我们将于12小时内与您联系。
                    </p>
                    
                    <div class="space-y-4 pt-6">
                        <div class="flex items-center space-x-4">
                            <div class="w-10 h-10 bg-white/5 border border-white/10 rounded-full flex items-center justify-center text-brand-accent text-xs">
                                <i class="fa-solid fa-phone"></i>
                            </div>
                            <span data-cms-phone><a href="tel:059188389999" class="text-xs md:text-sm tracking-widest text-white/80 hover:text-brand-accent transition-colors">0591-8838 9999</a></span>
                        </div>
                        <div class="flex items-center space-x-4">
                            <div class="w-10 h-10 bg-white/5 border border-white/10 rounded-full flex items-center justify-center text-brand-accent text-xs">
                                <i class="fa-solid fa-location-dot"></i>
                            </div>
                            <span class="text-xs md:text-sm tracking-widest text-white/80 leading-relaxed" data-cms-address>福建省福州市台江区群众东路99号</span>
                        </div>
                    </div>
                </div>

                <!-- Right Form Box -->
                <div class="lg:col-span-7 bg-white/[0.02] border border-white/10 p-8 md:p-12 rounded-xl">
                    <form id="appointmentForm" onsubmit="handleFormSubmit(event)" class="space-y-6">
                        <!-- Input 1 -->
                        <div class="grid grid-cols-1 md:grid-cols-2 gap-6">
                            <div>
                                <label class="text-[10px] tracking-[0.2em] text-brand-muted uppercase block mb-2">尊称 / NAME</label>
                                <input type="text" required id="formName" placeholder="如：林先生" class="w-full bg-transparent border-b border-white/20 focus:border-brand-accent py-3 text-sm text-white focus:outline-none transition-colors placeholder-white/20">
                            </div>
                            <div>
                                <label class="text-[10px] tracking-[0.2em] text-brand-muted uppercase block mb-2">联系电话 / PHONE</label>
                                <input type="tel" required id="formPhone" inputmode="numeric" maxlength="13" autocomplete="tel" placeholder="138-xxxx-xxxx" class="w-full bg-transparent border-b border-white/20 focus:border-brand-accent py-3 text-sm text-white focus:outline-none transition-colors placeholder-white/20">
                            </div>
                        </div>

                        <!-- Input 2 -->
                        <div class="grid grid-cols-1 md:grid-cols-2 gap-6">
                            <div>
                                <label class="text-[10px] tracking-[0.2em] text-brand-muted uppercase block mb-2">楼盘名称 / RESIDENCE</label>
                                <input type="text" required id="formResidence" placeholder="如：世欧王庄" class="w-full bg-transparent border-b border-white/20 focus:border-brand-accent py-3 text-sm text-white focus:outline-none transition-colors placeholder-white/20">
                            </div>
                            <div>
                                <label class="text-[10px] tracking-[0.2em] text-brand-muted uppercase block mb-2">预估面积 / AREA (㎡)</label>
                                <input type="number" required id="formArea" min="1" max="10000" step="0.1" inputmode="decimal" placeholder="如：140" class="w-full bg-transparent border-b border-white/20 focus:border-brand-accent py-3 text-sm text-white focus:outline-none transition-colors placeholder-white/20">
                            </div>
                        </div>

                        <!-- Custom Dropdown for Service Style Selection -->
                        <div>
                            <label class="text-[10px] tracking-[0.2em] text-brand-muted uppercase block mb-2">意向空间风格 / IDEAL STYLE</label>
                            <select id="formStyle" class="w-full bg-brand-dark border-b border-white/20 focus:border-brand-accent py-3 text-sm text-white focus:outline-none transition-colors">
                                <option value="现代简约" class="bg-brand-dark">现代简约</option>
                                <option value="现代轻奢" class="bg-brand-dark">现代轻奢</option>
                                <option value="极简风" class="bg-brand-dark">极简风</option>
                                <option value="意式极简" class="bg-brand-dark">意式极简</option>
                                <option value="意式轻奢" class="bg-brand-dark">意式轻奢</option>
                                <option value="奶油风" class="bg-brand-dark">奶油风</option>
                                <option value="原木风" class="bg-brand-dark">原木风</option>
                                <option value="侘寂风" class="bg-brand-dark">侘寂风</option>
                                <option value="日式风" class="bg-brand-dark">日式风</option>
                                <option value="新中式" class="bg-brand-dark">新中式</option>
                                <option value="传统中式" class="bg-brand-dark">传统中式</option>
                                <option value="法式风" class="bg-brand-dark">法式风</option>
                                <option value="美式风" class="bg-brand-dark">美式风</option>
                                <option value="欧式风" class="bg-brand-dark">欧式风</option>
                                <option value="简欧风" class="bg-brand-dark">简欧风</option>
                                <option value="工业风" class="bg-brand-dark">工业风</option>
                                <option value="复古风" class="bg-brand-dark">复古风</option>
                                <option value="混搭风" class="bg-brand-dark">混搭风</option>
                                <option value="北欧风" class="bg-brand-dark">北欧风</option>
                                <option value="中古风" class="bg-brand-dark">中古风</option>
                                <option value="南洋风" class="bg-brand-dark">南洋风</option>
                                <option value="孟菲斯风" class="bg-brand-dark">孟菲斯风</option>
                                <option value="现代东方" class="bg-brand-dark">现代东方</option>
                                <option value="国潮风" class="bg-brand-dark">国潮风</option>
                                <option value="田园风" class="bg-brand-dark">田园风</option>
                                <option value="地中海风" class="bg-brand-dark">地中海风</option>
                                <option value="其他风格" class="bg-brand-dark">其他风格</option>
                            </select>
                        </div>

                        <div class="pt-4">
                            <button type="submit" class="btn-minimal-dark block w-full tracking-widest py-3">
                                提交臻享预约 ➔
                            </button>
                        </div>
                    </form>

                    <!-- Custom Form Feedback Toast (To avoid using system alerts) -->
                    <div id="formSuccessMessage" class="hidden mt-6 p-4 bg-emerald-500/10 border border-emerald-500/30 rounded-lg flex items-center space-x-3 text-emerald-400">
                        <i class="fa-solid fa-circle-check text-xl"></i>
                        <div>
                            <p class="text-sm font-semibold">预约成功！</p>
                            <p class="text-xs text-emerald-400/80 mt-1">主案高级设计管家正在准备专属定制资料，稍后将致电为您服务。</p>
                        </div>
                    </div>
                    <div id="formErrorMessage" class="hidden mt-6 p-4 bg-red-500/10 border border-red-500/30 rounded-lg flex items-center space-x-3 text-red-400">
                        <i class="fa-solid fa-circle-exclamation text-xl"></i>
                        <p class="text-xs" id="formErrorText">提交失败，请稍后重试或电话联系我们。</p>
                    </div>
                </div>
            </div>
        </div>
    </section>

    <!-- Footer Section -->
    <footer class="bg-black/90 text-brand-muted text-xs border-t border-white/5 py-12 md:py-16">
        <div class="max-w-7xl mx-auto px-6 md:px-12">
            <div class="mb-12">
                <!-- Branding Info -->
                <div class="space-y-4 max-w-xl">
                    <span class="text-lg tracking-[0.4em] text-white font-light">品丰装饰</span>
                    <p class="text-brand-muted max-w-sm leading-relaxed mt-2 text-xs font-light">
                        品丰装饰专注于品质家装、内敛克制的私宅及商业建筑室内设计。致力于让空间回归自然光影与材质的本真。
                    </p>
                    <div class="flex items-center space-x-4 pt-2">
                        <a href="tel:059188389999" aria-label="拨打品丰装饰咨询电话" title="电话咨询" class="w-8 h-8 rounded-full border border-white/10 flex items-center justify-center hover:border-brand-accent hover:text-white transition-colors"><i class="fa-solid fa-phone"></i></a>
                        <a href="#contact" aria-label="前往预约咨询" title="预约咨询" class="w-8 h-8 rounded-full border border-white/10 flex items-center justify-center hover:border-brand-accent hover:text-white transition-colors"><i class="fa-regular fa-calendar-check"></i></a>
                        <button type="button" id="sharePageBtn" onclick="sharePage()" aria-label="分享品丰装饰官网" title="分享网站" class="w-8 h-8 rounded-full border border-white/10 flex items-center justify-center hover:border-brand-accent hover:text-white transition-colors"><i class="fa-solid fa-share-nodes"></i></button>
                    </div>
                </div>
            </div>

            <!-- Bottom Line -->
            <div class="border-t border-white/5 pt-8 flex flex-col md:flex-row justify-between items-center gap-4 text-[10px]">
                <p class="font-light">© 2026 品丰装饰 PINFENG DECORATION. All Rights Reserved.</p>
                <div class="flex space-x-6">
                    <a href="privacy-policy.html" class="hover:text-brand-accent transition-colors">隐私权政策</a>
                    <a href="#workflow" class="hover:text-brand-accent transition-colors">服务流程</a>
                    <a href="http://beian.miit.gov.cn/" target="_blank" rel="noopener noreferrer" class="hover:text-brand-accent transition-colors">闽ICP备2022003775号</a>
                </div>
            </div>
        </div>
    </footer>

    <script>
        window.__HERO_PREFETCH__ = fetch('/api/hero', { credentials: 'same-origin' })
            .then(function (r) { return r.ok ? r.json() : { slides: [], settings: {} }; })
            .catch(function () { return { slides: [], settings: {} }; });
    </script>
    <script src="assets/cms.js?v=20260606-hero-cms"></script>
    <!-- Javascript Dynamic Scripts -->
    <script>
        // Custom Cursor Logic
        const cursor = document.getElementById('customCursor');
        const cursorFollower = document.getElementById('customCursorFollower');

        if (cursor && cursorFollower) {
            document.addEventListener('mousemove', (e) => {
                cursor.style.left = e.clientX + 'px';
                cursor.style.top = e.clientY + 'px';
                
                // Slightly offset follower for organic trailing feel
                setTimeout(() => {
                    cursorFollower.style.left = e.clientX + 'px';
                    cursorFollower.style.top = e.clientY + 'px';
                }, 50);
            });

            // Hover state animation on clickable entities
            const hoverTargets = document.querySelectorAll('a, button, input, select, range, [onclick], .case-item');
            hoverTargets.forEach(target => {
                target.addEventListener('mouseenter', () => document.body.classList.add('hover-active'));
                target.addEventListener('mouseleave', () => document.body.classList.remove('hover-active'));
            });
        }

        // Header Scroll Interaction (Transparent -> Blur Glass)
        const navbar = document.getElementById('navbar');
        window.addEventListener('scroll', () => {
            if (window.scrollY > 50) {
                navbar.classList.add('glass-panel', 'py-4');
                navbar.classList.remove('py-6');
            } else {
                navbar.classList.remove('glass-panel', 'py-4');
                navbar.classList.add('py-6');
            }
        });

        // Mobile Menu Toggle
        const mobileMenu = document.getElementById('mobileMenu');
        const mobileMenuBtn = document.getElementById('mobileMenuBtn');
        const mobileCloseBtn = document.getElementById('mobileCloseBtn');

        mobileMenuBtn.addEventListener('click', () => {
            mobileMenu.classList.remove('translate-x-full');
        });

        mobileCloseBtn.addEventListener('click', () => {
            mobileMenu.classList.add('translate-x-full');
        });

        function toggleMobileMenu() {
            mobileMenu.classList.add('translate-x-full');
        }

        // Hero Image Slider (slides loaded by cms.js)
        let currentSlide = 0;
        let slideInterval = null;
        let heroIntervalMs = 5000;

        function getSlides() {
            return document.querySelectorAll('#heroSlider .slide');
        }

        function showSlide(index) {
            const slides = getSlides();
            if (!slides.length) return;
            slides.forEach(slide => {
                slide.classList.remove('slide-active');
                slide.style.opacity = 0;
            });
            currentSlide = (index + slides.length) % slides.length;
            slides[currentSlide].classList.add('slide-active');
            slides[currentSlide].style.opacity = 1;
            const slideCounter = document.getElementById('slideCounter');
            if (slideCounter) {
                const total = String(slides.length).padStart(2, '0');
                const current = String(currentSlide + 1).padStart(2, '0');
                slideCounter.textContent = `${current} / ${total}`;
            }
        }

        function nextSlide() {
            showSlide(currentSlide + 1);
            resetSlideInterval();
        }

        function prevSlide() {
            showSlide(currentSlide - 1);
            resetSlideInterval();
        }

        function resetSlideInterval() {
            if (slideInterval) clearInterval(slideInterval);
            const slides = getSlides();
            if (slides.length > 1) {
                slideInterval = setInterval(nextSlide, heroIntervalMs);
            }
        }

        window.reinitHeroSlider = function (intervalSeconds) {
            if (intervalSeconds) {
                heroIntervalMs = Math.max(2000, intervalSeconds * 1000);
            }
            currentSlide = 0;
            showSlide(0);
            resetSlideInterval();
        };

        // Case Modal Data and Interactions
        const caseData = {
            1: {
                title: "《 溯 光 》",
                tag: "MINIMALIST / 极简微水泥",
                layout: "复式别墅",
                area: "260 ㎡",
                materials: "西班牙进口微水泥 / 哑光无框线条灯 / 碳黑无定形板",
                desc: "全屋无缝地面由极简无孔微水泥层层涂刷，融合内嵌式无主线型灯系统，在极致空灵的纯净空间中，利用悬挑楼梯的折线起伏构建出强烈的雕塑感，赋予建筑诗性的温度。",
                img: "http://images.unsplash.com/photo-1600210492486-724fe5c67fb0?auto=format&fit=crop&w=800&q=80"
            },
            2: {
                title: "《 曜 石 》",
                tag: "ITALIAN LUXURY / 意式极奢",
                layout: "大平层",
                area: "180 ㎡",
                materials: "曜石黑奢石 / 纳米超晶板材 / 意大利原装极窄门锁",
                desc: "专为城市金领精选打造。采用意式高定全案布局，打破客餐厅与西厨界限，让整块西班牙大理石天然石纹在全景天花板映衬下呈现流动的尊崇质感，同时依托全屋智联构建极奢体验。",
                img: "http://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=800&q=80"
            },
            3: {
                title: "《 归 隐 》",
                tag: "WABI-SABI / 现代侘寂",
                layout: "平层三居",
                area: "140 ㎡",
                materials: "原生骨料艺术涂料 / 天然橡木实木 / 粗粝灰火山石板",
                desc: "将侘寂底色与现代空间融合。天花板由大弧度穹顶包拢，墙体涂刷粗粒感的沙粒艺术骨料涂料。空间软装只留下粗粝的原木、自然崩裂的玄武岩与透气棉麻材质，返璞归真，大隐于市。",
                img: "http://images.unsplash.com/photo-1616486338812-3dadae4b4ace?auto=format&fit=crop&w=800&q=80"
            }
        };

        function openCaseModal(caseId) {
            const data = caseData[caseId];
            if (!data) return;

            document.getElementById('modalImg').src = data.img;
            document.getElementById('modalTag').textContent = data.tag;
            document.getElementById('modalTitle').textContent = data.title;
            document.getElementById('modalLayout').textContent = data.layout;
            document.getElementById('modalArea').textContent = data.area;
            document.getElementById('modalMaterials').textContent = data.materials;
            document.getElementById('modalDesc').textContent = data.desc;

            const modal = document.getElementById('caseModal');
            modal.classList.remove('hidden');
            document.body.style.overflow = 'hidden'; // Lock background scroll
        }

        function closeCaseModal() {
            const modal = document.getElementById('caseModal');
            modal.classList.add('hidden');
            document.body.style.overflow = 'auto'; // Unlock background scroll
        }

        // Live Budget Calculator Engine
        let selectedContract = 'semi';
        let selectedTier = 'm1';
        
        const areaInput = document.getElementById('areaInput');
        const areaValueDisplay = document.getElementById('areaValueDisplay');

        // Prices matrices (Unit price per m²)
        const defaultPricingConfig = {
            contractWeights: {
                semi: 1.0,
                full: 1.25,
                turnkey: 1.45
            },
            tierBase: {
                m1: {
                    design: 150,
                    base: 700,
                    material: 850,
                    custom: 380
                },
                m2: {
                    design: 180,
                    base: 800,
                    material: 1000,
                    custom: 450
                },
                m3: {
                    design: 280,
                    base: 1200,
                    material: 1500,
                    custom: 750
                }
            }
        };

        function resolveContractWeights(apiCfg) {
            if (!apiCfg) return defaultPricingConfig.contractWeights;
            var cw = apiCfg.contract_weights || apiCfg.contractWeights;
            if (cw) return cw;
            var sw = apiCfg.style_weights || apiCfg.styleWeights;
            if (!sw) return defaultPricingConfig.contractWeights;
            return {
                semi: sw.semi != null ? sw.semi : (sw.minimalist != null ? sw.minimalist : 1),
                full: sw.full != null ? sw.full : (sw.luxury != null ? sw.luxury : 1.25),
                turnkey: sw.turnkey != null ? sw.turnkey : (sw.wabi != null ? sw.wabi : 1.45)
            };
        }

        function resolveTierBase(apiCfg) {
            var tb = apiCfg.tier_base || apiCfg.tierBase;
            var d = defaultPricingConfig.tierBase;
            if (tb && (tb.m1 || tb.m2 || tb.m3)) {
                return {
                    m1: Object.assign({}, d.m1, tb.m1 || {}),
                    m2: Object.assign({}, d.m2, tb.m2 || {}),
                    m3: Object.assign({}, d.m3, tb.m3 || {})
                };
            }
            if (tb && (tb.premium || tb.master)) {
                return {
                    m1: d.m1,
                    m2: Object.assign({}, d.m2, tb.premium || {}),
                    m3: Object.assign({}, d.m3, tb.master || {})
                };
            }
            return d;
        }

        function getPricingConfig() {
            var api = window.pricingConfig;
            if (!api) return defaultPricingConfig;
            return {
                contractWeights: resolveContractWeights(api),
                tierBase: resolveTierBase(api)
            };
        }

        // Event listener for area range input
        areaInput.addEventListener('input', (e) => {
            areaValueDisplay.textContent = `${e.target.value} ㎡`;
            calculateBudget();
        });

        function setCalcContract(contract, element) {
            selectedContract = contract;
            document.querySelectorAll('.contract-select-btn').forEach(btn => btn.classList.remove('is-active'));
            element.classList.add('is-active');
            calculateBudget();
        }

        function setCalcTier(tier, element) {
            selectedTier = tier;

            // Adjust styles active visual state
            document.querySelectorAll('.tier-select-btn').forEach(btn => {
                btn.classList.remove('is-active');
                const icon = btn.querySelector('i');
                if (icon) icon.className = 'fa-regular fa-circle';
            });
            element.classList.add('is-active');
            const icon = element.querySelector('i');
            if (icon) icon.className = 'fa-regular fa-circle-check';

            calculateBudget();
        }

        // Live calculation algorithm with animated numbers
        function calculateBudget() {
            const area = parseFloat(areaInput.value);
            const cfg = getPricingConfig();
            const contractFactor = cfg.contractWeights[selectedContract] || 1;
            const basePrices = cfg.tierBase[selectedTier] || defaultPricingConfig.tierBase.m1;

            // Calculate breakdowns
            const designTotal = Math.round(area * basePrices.design);
            const baseTotal = Math.round(area * basePrices.base * contractFactor);
            const materialTotal = Math.round(area * basePrices.material * contractFactor);
            const customTotal = Math.round(area * basePrices.custom * contractFactor);
            const grandTotal = designTotal + baseTotal + materialTotal + customTotal;

            // Trigger updates dynamically on UI
            animateValue("designFee", designTotal);
            animateValue("baseFee", baseTotal);
            animateValue("materialFee", materialTotal);
            animateValue("customFee", customTotal);
            animateValue("totalPrice", grandTotal, true);
        }

        // Animated number counters to increase visual prestige
        function animateValue(id, endValue, isTotal = false) {
            const obj = document.getElementById(id);
            if (!obj) return;
            const textContent = obj.textContent.replace('￥', '').replace(/,/g, '').trim();
            const startValue = parseInt(textContent, 10) || 0;
            if (startValue === endValue) return;

            const duration = 500; // ms
            let startTime = null;

            function step(timestamp) {
                if (!startTime) startTime = timestamp;
                const progress = Math.min((timestamp - startTime) / duration, 1);
                const currentValue = Math.floor(progress * (endValue - startValue) + startValue);
                
                // Format output with comma separators
                const formattedValue = currentValue.toLocaleString();
                obj.textContent = isTotal ? ('￥' + formattedValue) : ('￥ ' + formattedValue);
                
                if (progress < 1) {
                    window.requestAnimationFrame(step);
                }
            }
            window.requestAnimationFrame(step);
        }

        // Timeline visual interaction
        function updateTimeline(progressPercentage) {
            const progressLine = document.getElementById('timelineProgress');
            if (progressLine) {
                progressLine.style.height = `${progressPercentage}%`;
            }
        }

        async function handleFormSubmit(event) {
            event.preventDefault();
            const form = event.target;
            const submitBtn = event.target.querySelector('button[type="submit"]');
            const originalText = submitBtn.innerHTML;
            const successMsg = document.getElementById('formSuccessMessage');
            const errorMsg = document.getElementById('formErrorMessage');
            const errorText = document.getElementById('formErrorText');
            successMsg.classList.add('hidden');
            errorMsg.classList.add('hidden');
            submitBtn.disabled = true;
            submitBtn.innerHTML = '<i class="fa-solid fa-spinner animate-spin"></i> 正在安全提交...';

            try {
                const response = await fetch('/api/leads', {
                    method: 'POST',
                    headers: { 'Content-Type': 'application/json' },
                    body: JSON.stringify({
                        name: document.getElementById('formName').value.trim(),
                        phone: document.getElementById('formPhone').value.trim(),
                        residence: document.getElementById('formResidence').value.trim(),
                        area: document.getElementById('formArea').value,
                        style: document.getElementById('formStyle').value
                    })
                });
                const result = await response.json().catch(() => ({}));
                if (!response.ok) throw new Error(result.error || '提交失败，请稍后重试或电话联系我们。');

                form.reset();
                successMsg.classList.remove('hidden');
                setTimeout(() => successMsg.classList.add('hidden'), 8000);
            } catch (error) {
                errorText.textContent = error.message || '提交失败，请稍后重试或电话联系我们。';
                errorMsg.classList.remove('hidden');
            } finally {
                submitBtn.disabled = false;
                submitBtn.innerHTML = originalText;
            }
        }

        async function sharePage() {
            const shareData = {
                title: document.title,
                text: '品丰装饰｜福州本土家装设计与施工服务',
                url: window.location.origin + '/'
            };
            try {
                if (navigator.share) {
                    await navigator.share(shareData);
                    return;
                }
                await navigator.clipboard.writeText(shareData.url);
                const button = document.getElementById('sharePageBtn');
                if (button) {
                    const originalTitle = button.title;
                    button.title = '链接已复制';
                    setTimeout(() => { button.title = originalTitle; }, 2500);
                }
            } catch (error) {
                if (error && error.name !== 'AbortError') {
                    window.location.href = 'mailto:?subject=' + encodeURIComponent(shareData.title) + '&body=' + encodeURIComponent(shareData.url);
                }
            }
        }

        // Page Bootstrap
        window.onload = function () {
            window.reinitHeroSlider();
            if (window.pricingConfig) calculateBudget();
        }
    </script>
</body>
</html>
