*{margin:0;padding:0;box-sizing:border-box}
:root{--forest:#2d5a3d;--sand:#d8c3a5;--brown:#4a3628;--cream:#faf6ef;--ivory:#fffdf8;--gray:#8a7f70;--font:'Segoe UI','Microsoft YaHei',sans-serif}
html{scroll-behavior:smooth}
body{font-family:var(--font);background:var(--cream);color:var(--brown);overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto}
.container{max-width:1200px;margin:0 auto;padding:0 20px}
/* ===== Header ===== */
.header{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:20px 0;transition:all .3s;background:transparent}
.header.scrolled{background:var(--forest);padding:10px 0;box-shadow:0 6px 30px rgba(42,84,58,.3)}
.header .container{display:flex;justify-content:space-between;align-items:center}
.logo{font-size:26px;font-weight:900;color:var(--forest);letter-spacing:2px;display:flex;align-items:center;gap:10px}
.logo .stack{display:inline-block;position:relative;width:22px;height:22px;margin-right:4px}
.logo .stack i{position:absolute;inset:0;background:var(--forest)}
.logo .stack i:nth-child(2){top:4px;left:4px;background:var(--sand)}
.logo .stack i:nth-child(3){top:8px;left:8px;background:var(--brown)}
.logo span{color:var(--forest)}
.header.scrolled .logo{color:var(--sand)}
.header.scrolled .logo span{color:var(--sand)}
.header.scrolled .logo .stack i{background:var(--sand)}
.header.scrolled .logo .stack i:nth-child(2){background:var(--brown)}
.header.scrolled .logo .stack i:nth-child(3){background:var(--sand)}
.nav{display:flex;list-style:none;gap:30px}
.nav a{color:var(--forest);font-size:15px;font-weight:600;letter-spacing:1px;transition:color .3s;padding:6px 4px;position:relative}
.header.scrolled .nav a{color:var(--sand)}
.nav a::after{content:'';position:absolute;left:0;bottom:-2px;width:100%;height:3px;background:var(--sand);transform:scaleX(0);transition:transform .35s}
.nav a:hover::after,.nav a.active::after{transform:scaleX(1)}
.nav a:hover,.nav a.active{color:var(--brown)}
.header.scrolled .nav a:hover,.header.scrolled .nav a.active{color:var(--sand)}
.hamburger{display:none;flex-direction:column;cursor:pointer;gap:5px;z-index:1001}
.hamburger span{width:30px;height:3px;background:var(--forest);transition:.3s}
.header.scrolled .hamburger span{background:var(--sand)}
/* ===== Hero ===== */
.hero{min-height:100vh;padding:160px 0 100px;background:linear-gradient(180deg,var(--sand) 0%,var(--cream) 100%);position:relative;overflow:hidden;display:flex;align-items:center}
.hero::before{content:'';position:absolute;top:0;left:0;right:0;height:300px;background:linear-gradient(180deg,var(--forest),transparent);opacity:.08}
.hero-bg-layer{position:absolute;border:2px solid rgba(74,54,40,.12);border-radius:8px}
.hero-bg-layer.l1{width:520px;height:520px;top:-80px;right:-120px;transform:rotate(12deg)}
.hero-bg-layer.l2{width:420px;height:420px;top:120px;right:-40px;transform:rotate(-8deg)}
.hero-bg-layer.l3{width:320px;height:320px;bottom:-60px;right:120px;transform:rotate(20deg)}
.hero .container{position:relative;z-index:3;display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center}
.hero-title-stack{position:relative;display:inline-block;transform-style:preserve-3d}
.hero-title-stack h1{font-size:88px;font-weight:900;color:var(--forest);line-height:1.04;letter-spacing:2px;position:relative;z-index:4}
.hero-title-stack h1 em{font-style:normal;color:var(--brown)}
.hero-title-stack::before{content:'';position:absolute;left:10px;top:10px;width:100%;height:100%;background:var(--forest);z-index:2;border-radius:4px}
.hero-title-stack::after{content:'';position:absolute;left:20px;top:20px;width:100%;height:100%;background:var(--sand);z-index:1;border-radius:4px}
.hero-title-stack h1 i{font-style:normal;background:var(--sand);color:var(--forest);padding:0 14px}
.hero-lead{font-size:18px;color:var(--brown);opacity:.75;line-height:1.9;margin-top:34px;max-width:460px}
.hero-meta{display:flex;gap:40px;margin-top:38px;padding-top:26px;border-top:2px solid rgba(74,54,40,.15)}
.hero-meta .m b{display:block;font-size:30px;color:var(--forest);font-weight:900}
.hero-meta .m span{font-size:13px;color:var(--gray);letter-spacing:2px}
.hero-btns{display:flex;gap:16px;margin-top:36px}
.btn{display:inline-block;padding:15px 36px;font-size:15px;font-weight:700;letter-spacing:1px;transition:all .3s;cursor:pointer;border:none}
.btn-green{background:var(--forest);color:var(--sand)}
.btn-green:hover{transform:translate(-4px,-4px);box-shadow:6px 6px 0 var(--brown)}
.btn-sand{border:2px solid var(--forest);color:var(--forest);background:transparent}
.btn-sand:hover{transform:translate(-4px,-4px);box-shadow:6px 6px 0 rgba(45,90,61,.25);background:var(--sand)}
.hero-card-stack{position:relative;min-height:460px;perspective:900px}
.hero-card{position:absolute;width:320px;padding:26px;background:var(--ivory);border-radius:6px;box-shadow:8px 8px 0 rgba(74,54,40,.25);transition:transform .5s}
.hero-card.c1{top:0;right:40px;z-index:3;transform:rotate(2deg)}
.hero-card.c2{top:80px;right:220px;z-index:2;transform:rotate(-3deg)}
.hero-card.c3{top:200px;right:130px;z-index:1;transform:rotate(5deg);box-shadow:12px 12px 0 rgba(45,90,61,.35)}
.hero-card .h-img{height:150px;overflow:hidden;margin-bottom:14px;border-radius:4px}
.hero-card .h-img img{width:100%;height:100%;object-fit:cover}
.hero-card h4{font-size:17px;color:var(--forest);margin-bottom:4px}
.hero-card .h-tag{font-size:12px;color:var(--gray);letter-spacing:2px}
.hero-card.c2 h4{color:var(--brown)}
.hero-card.c3 .h-tag{color:var(--forest);font-weight:700}
/* ===== Section ===== */
.section{padding:110px 0;position:relative}
.section-head{text-align:center;margin-bottom:70px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13px;letter-spacing:4px;color:var(--forest);font-weight:700;margin-bottom:16px}
.eyebrow::before,.eyebrow::after{content:'';width:34px;height:2px;background:var(--sand)}
.section-head h2{font-size:46px;font-weight:900;color:var(--brown);letter-spacing:1px}
.section-head h2 em{font-style:normal;color:var(--forest)}
.section-head p{color:var(--gray);font-size:16px;margin-top:16px;line-height:1.8}
/* ===== Philosophy ===== */
.philosophy{background:var(--cream)}
.layers-stack{position:relative;margin:0 auto;max-width:860px;padding:40px 0}
.layer-card{position:relative;background:var(--ivory);padding:30px 36px;border-radius:6px;margin-bottom:18px;transform-origin:left;transition:transform .4s;z-index:1}
.layer-card::after{content:'';position:absolute;left:12px;top:12px;right:-12px;bottom:-12px;background:var(--forest);border-radius:6px;z-index:-1;transition:all .4s}
.layer-card:hover{transform:translateX(8px)}
.layer-card:nth-child(2)::after{background:var(--sand)}
.layer-card:nth-child(3)::after{background:var(--forest)}
.layer-card .lc-no{font-size:13px;color:var(--forest);letter-spacing:3px;font-weight:700}
.layer-card h3{font-size:22px;color:var(--brown);margin:8px 0 10px}
.layer-card p{color:var(--gray);font-size:15px;line-height:1.8}
.layer-card .lc-layer{position:absolute;right:20px;top:14px;font-size:30px;color:var(--sand);font-weight:900;opacity:.4}
/* ===== Services ===== */
.services{background:var(--ivory)}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
.svc-card{background:var(--cream);padding:36px;border-radius:6px;position:relative;transition:all .35s;border:1px solid rgba(45,90,61,.15)}
.svc-card::before{content:'';position:absolute;left:8px;top:8px;width:100%;height:100%;background:var(--sand);border-radius:6px;z-index:-1;opacity:0;transition:all .35s}
.svc-card:hover{transform:translate(-6px,-6px);border-color:transparent}
.svc-card:hover::before{opacity:1}
.svc-card .svc-icon{width:62px;height:62px;background:var(--forest);color:var(--sand);font-size:26px;display:flex;align-items:center;justify-content:center;border-radius:6px;margin-bottom:22px;box-shadow:4px 4px 0 var(--brown)}
.svc-card h3{font-size:20px;color:var(--brown);margin-bottom:12px}
.svc-card p{font-size:14px;color:var(--gray);line-height:1.8}
.svc-card .svc-more{display:inline-block;margin-top:18px;color:var(--forest);font-weight:700;font-size:14px;transition:letter-spacing .3s}
.svc-card .svc-more::after{content:' →';color:var(--brown)}
.svc-card:hover .svc-more{letter-spacing:2px}
/* ===== Works (3D cards) ===== */
.works{background:var(--forest);padding:110px 0;position:relative;overflow:hidden}
.works::before{content:'';position:absolute;left:-140px;top:50%;width:480px;height:480px;border:2px dashed rgba(216,195,165,.15);border-radius:50%;transform:translateY(-50%)}
.works .section-head h2{color:var(--sand)}
.works .section-head h2 em{color:var(--sand)}
.works .section-head p{color:rgba(250,246,239,.6)}
.works .eyebrow{color:var(--sand)}
.works .eyebrow::before,.works .eyebrow::after{background:var(--sand)}
.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:60px 34px;perspective:1200px}
.work-3d{position:relative;transform-style:preserve-3d;transition:transform .6s ease;cursor:pointer}
.work-3d:hover{transform:rotateX(14deg) translateY(-12px)}
.work-3d .w-back{position:absolute;inset:0;background:var(--sand);border-radius:8px;transform:translateZ(-24px);box-shadow:0 30px 60px rgba(20,30,24,.45)}
.work-3d .w-mid{position:absolute;inset:8px;background:var(--brown);border-radius:8px;transform:translateZ(-12px)}
.work-3d .w-front{position:relative;background:var(--ivory);border-radius:8px;overflow:hidden;transform:translateZ(0)}
.w-front img{width:100%;height:230px;object-fit:cover;display:block}
.w-front .w-body{padding:22px 24px}
.w-front .w-body .w-no{font-size:12px;color:var(--forest);font-weight:700;letter-spacing:2px}
.w-front .w-body h3{font-size:19px;color:var(--brown);margin:6px 0}
.w-front .w-body p{font-size:13px;color:var(--gray);line-height:1.7}
/* ===== News ===== */
.news{background:var(--cream)}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
.news-card{position:relative;background:var(--ivory);border-radius:6px;overflow:hidden;transition:all .35s}
.news-card::after{content:'';position:absolute;left:10px;top:10px;right:-10px;bottom:-10px;background:var(--sand);border-radius:6px;z-index:-1;opacity:0;transition:all .35s}
.news-card:hover{transform:translate(-6px,-6px)}
.news-card:hover::after{opacity:1}
.news-card .n-img{height:190px;overflow:hidden}
.news-card .n-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.news-card:hover .n-img img{transform:scale(1.08)}
.news-card .n-body{padding:22px 24px}
.news-card .n-date{font-size:12px;color:var(--forest);font-weight:700;letter-spacing:1px}
.news-card .n-date b{background:var(--forest);color:var(--sand);padding:2px 8px;border-radius:3px;margin-right:8px}
.news-card h3{font-size:17px;color:var(--brown);margin:10px 0;line-height:1.5}
.news-card p{font-size:13px;color:var(--gray);line-height:1.7}
.news-card .n-link{display:inline-block;margin-top:14px;color:var(--forest);font-weight:700;font-size:14px}
/* ===== CTA ===== */
.cta{background:var(--sand);padding:90px 0;position:relative;overflow:hidden}
.cta::before{content:'';position:absolute;top:-40px;left:-40px;width:200px;height:200px;border:3px solid rgba(74,54,40,.2);border-radius:8px;transform:rotate(15deg)}
.cta::after{content:'';position:absolute;bottom:-60px;right:-60px;width:260px;height:260px;border:3px solid rgba(45,90,61,.25);border-radius:8px;transform:rotate(-12deg)}
.cta .container{position:relative;z-index:2;text-align:center}
.cta h2{font-size:42px;color:var(--brown);font-weight:900}
.cta h2 em{font-style:normal;color:var(--forest)}
.cta p{color:var(--brown);opacity:.7;margin:16px auto 34px;max-width:520px;line-height:1.8;font-size:16px}
/* ===== Footer ===== */
.footer{background:var(--brown);color:var(--sand);padding:70px 0 0}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-bottom:50px}
.footer h3{font-size:17px;color:var(--sand);margin-bottom:22px;letter-spacing:1px}
.footer .about-txt{color:rgba(216,195,165,.65);font-size:14px;line-height:1.9;margin-top:16px}
.footer-links{list-style:none}
.footer-links li{margin-bottom:11px}
.footer-links a{color:rgba(216,195,165,.65);font-size:14px;transition:color .3s,padding-left .3s}
.footer-links a:hover{color:var(--sand);padding-left:6px}
.footer-contact li{list-style:none;color:rgba(216,195,165,.65);margin-bottom:12px;font-size:14px}
.footer-contact li b{color:var(--sand)}
.footer-bottom{text-align:center;padding:24px 0;border-top:1px solid rgba(216,195,165,.15);color:rgba(216,195,165,.4);font-size:13px}
/* ===== Page banner ===== */
.page-banner{background:var(--sand);padding:150px 0 90px;position:relative;overflow:hidden}
.page-banner::before{content:'';position:absolute;right:60px;top:40px;width:260px;height:260px;border:3px solid rgba(45,90,61,.2);transform:rotate(18deg);border-radius:8px}
.page-banner::after{content:'';position:absolute;right:120px;top:90px;width:260px;height:260px;border:3px solid rgba(74,54,40,.2);transform:rotate(-10deg);border-radius:8px}
.page-banner .container{position:relative;z-index:2}
.breadcrumb{color:var(--forest);font-size:13px;letter-spacing:2px;margin-bottom:14px}
.breadcrumb a{color:var(--brown);opacity:.7}
.breadcrumb a:hover{opacity:1}
.page-banner h1{font-size:56px;font-weight:900;color:var(--brown)}
.page-banner h1 em{font-style:normal;color:var(--forest)}
.page-banner p{color:var(--brown);opacity:.72;margin-top:14px;font-size:17px;max-width:560px;line-height:1.8}
/* ===== About page ===== */
.story{background:var(--ivory);padding:100px 0}
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.story-img{position:relative;padding:20px}
.story-img::before{content:'';position:absolute;left:0;top:0;width:100%;height:100%;background:var(--forest);border-radius:6px}
.story-img::after{content:'';position:absolute;left:12px;top:12px;width:100%;height:100%;background:var(--sand);border-radius:6px}
.story-img img{position:relative;z-index:3;width:100%;height:400px;object-fit:cover;border-radius:6px;display:block}
.story-txt h2{font-size:40px;color:var(--brown);margin-bottom:24px}
.story-txt h2 em{font-style:normal;color:var(--forest)}
.story-txt p{color:var(--gray);line-height:1.9;font-size:15px;margin-bottom:16px}
.story-points{margin-top:26px}
.story-points li{list-style:none;display:flex;gap:14px;align-items:flex-start;margin-bottom:14px;font-size:15px;color:var(--brown)}
.story-points li b{flex-shrink:0;width:26px;height:26px;background:var(--forest);color:var(--sand);display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:13px}
/* team */
.team{background:var(--cream);padding:100px 0}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px}
.team-card{position:relative;background:var(--ivory);border-radius:6px;padding:26px;text-align:center;transition:all .35s}
.team-card::after{content:'';position:absolute;left:9px;top:9px;right:-9px;bottom:-9px;background:var(--sand);border-radius:6px;z-index:-1;opacity:0;transition:all .35s}
.team-card:hover{transform:translate(-5px,-5px)}
.team-card:hover::after{opacity:1}
.team-avatar{width:110px;height:110px;border-radius:50%;margin:0 auto 16px;overflow:hidden;border:3px solid var(--forest);display:flex;align-items:center;justify-content:center}
.team-avatar img{width:100%;height:100%;object-fit:cover}
.team-avatar span{font-size:34px;font-weight:900;color:var(--forest)}
.team-card h4{font-size:17px;color:var(--brown)}
.team-card .role{font-size:12px;color:var(--forest);font-weight:700;letter-spacing:2px;margin-top:6px}
.team-card p{font-size:13px;color:var(--gray);margin-top:10px;line-height:1.7}
/* ===== Products page ===== */
.products-page{background:var(--cream);padding:100px 0}
.filter-bar{display:flex;gap:12px;justify-content:center;margin-bottom:60px;flex-wrap:wrap}
.filter-btn{padding:11px 28px;border:2px solid var(--forest);background:transparent;color:var(--forest);font-weight:700;cursor:pointer;transition:all .3s;font-size:14px;border-radius:4px;font-family:var(--font)}
.filter-btn.active,.filter-btn:hover{background:var(--forest);color:var(--sand);box-shadow:4px 4px 0 var(--brown);transform:translate(-2px,-2px)}
.prod-3d{position:relative;transform-style:preserve-3d;transition:transform .6s;cursor:pointer;margin-bottom:14px}
.prod-3d:hover{transform:rotateX(12deg) translateY(-10px)}
.prod-3d .p-back{position:absolute;inset:0;background:var(--brown);border-radius:8px;transform:translateZ(-22px);box-shadow:0 28px 50px rgba(74,54,40,.3)}
.prod-3d .p-front{position:relative;background:var(--ivory);border-radius:8px;overflow:hidden}
.p-front img{width:100%;height:240px;object-fit:cover;display:block}
.p-front .p-body{padding:22px}
.p-front .p-body .p-tag{font-size:12px;color:var(--forest);font-weight:700;letter-spacing:2px}
.p-front .p-body h3{font-size:20px;color:var(--brown);margin:8px 0}
.p-front .p-body h3 a{color:inherit}
.p-front .p-body p{font-size:14px;color:var(--gray);line-height:1.7}
.p-front .p-body .p-spec{display:flex;justify-content:space-between;margin-top:16px;padding-top:14px;border-top:1px dashed rgba(74,54,40,.2);font-size:13px;color:var(--brown);gap:12px;flex-wrap:wrap}
.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px 32px;perspective:1200px}
.pagination{display:flex;justify-content:center;gap:10px;margin-top:70px}
.pagination a{padding:11px 18px;border:2px solid var(--forest);color:var(--forest);font-weight:700;transition:all .3s;border-radius:4px}
.pagination a.active,.pagination a:hover{background:var(--forest);color:var(--sand)}
/* ===== News page ===== */
.news-page{background:var(--cream);padding:100px 0}
.news-list{max-width:860px;margin:0 auto}
.news-row{position:relative;background:var(--ivory);display:grid;grid-template-columns:280px 1fr;border-radius:6px;overflow:hidden;margin-bottom:34px;transition:all .35s}
.news-row::after{content:'';position:absolute;left:10px;top:10px;right:-10px;bottom:-10px;background:var(--sand);border-radius:6px;z-index:-1;opacity:0;transition:all .35s}
.news-row:hover{transform:translate(-5px,-5px)}
.news-row:hover::after{opacity:1}
.news-row .nr-img{height:200px;overflow:hidden;display:block}
.news-row .nr-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.news-row:hover .nr-img img{transform:scale(1.07)}
.news-row .nr-body{padding:26px 30px}
.news-row .nr-date{font-size:12px;color:var(--forest);font-weight:700}
.news-row .nr-date b{background:var(--forest);color:var(--sand);padding:2px 8px;border-radius:3px;margin-right:8px}
.news-row h3{font-size:19px;color:var(--brown);margin:10px 0}
.news-row h3 a{color:var(--brown)}
.news-row p{font-size:14px;color:var(--gray);line-height:1.7}
.news-row .nr-link{display:inline-block;margin-top:12px;color:var(--forest);font-weight:700}
/* ===== Contact page ===== */
.contact-page{background:var(--cream);padding:100px 0}
.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-bottom:60px}
.contact-card{position:relative;background:var(--ivory);border-radius:6px;padding:36px;text-align:center;transition:all .35s}
.contact-card::after{content:'';position:absolute;left:10px;top:10px;right:-10px;bottom:-10px;background:var(--forest);border-radius:6px;z-index:-1;opacity:0;transition:all .35s}
.contact-card:hover{transform:translate(-5px,-5px)}
.contact-card:hover::after{opacity:1}
.contact-card .ico{width:66px;height:66px;background:var(--sand);color:var(--brown);font-size:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;margin:0 auto 20px;box-shadow:4px 4px 0 var(--forest)}
.contact-card h4{font-size:18px;color:var(--brown);margin-bottom:8px}
.contact-card p{color:var(--gray);font-size:14px;line-height:1.7}
.contact-wrap{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.contact-form{background:var(--ivory);padding:50px;border-radius:6px;position:relative}
.contact-form::after{content:'';position:absolute;left:14px;top:14px;right:-14px;bottom:-14px;background:var(--sand);border-radius:6px;z-index:-1}
.contact-form h2{font-size:32px;color:var(--brown);margin-bottom:8px}
.contact-form h2 em{font-style:normal;color:var(--forest)}
.contact-form .sub{color:var(--gray);font-size:14px;margin-bottom:32px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-group{margin-bottom:20px}
.form-group label{display:block;font-size:13px;font-weight:700;letter-spacing:1px;margin-bottom:8px;color:var(--brown)}
.form-group label em{color:var(--forest);font-style:normal}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:14px 16px;border:2px solid var(--sand);font-size:15px;transition:border .3s;background:#fff;font-family:var(--font);border-radius:4px}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--forest);outline:none}
.form-group textarea{height:130px;resize:vertical}
.contact-info{background:var(--forest);color:var(--sand);border-radius:6px;padding:50px;position:relative}
.contact-info::after{content:'';position:absolute;left:14px;top:14px;right:-14px;bottom:-14px;background:var(--brown);border-radius:6px;z-index:-1}
.contact-info h3{font-size:26px;margin-bottom:28px;color:var(--sand)}
.contact-info h3 em{font-style:normal;color:var(--sand)}
.info-item{display:flex;gap:16px;margin-bottom:24px;align-items:flex-start}
.info-item .ico{width:46px;height:46px;background:var(--sand);color:var(--brown);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;border-radius:4px}
.info-item h4{font-size:16px;color:var(--sand);margin-bottom:5px}
.info-item p{font-size:14px;color:rgba(216,195,165,.7);line-height:1.6}
.map-holder{height:360px;background:var(--sand);display:flex;align-items:center;justify-content:center;color:var(--brown);font-size:17px;letter-spacing:2px;margin-top:70px;border-radius:6px;position:relative;overflow:hidden}
.map-holder::before,.map-holder::after{content:'';position:absolute;width:220px;height:220px;border:3px dashed rgba(45,90,61,.35);border-radius:6px}
.map-holder::before{transform:rotate(12deg)}
.map-holder::after{transform:rotate(-8deg)}
.map-holder .map-embed-block{position:relative;z-index:2;width:100%}
.map-holder.has-embed{height:auto;display:block;padding:28px}
.map-holder.has-embed .map-embed-wrap{padding-bottom:50%;border-radius:6px;overflow:hidden;background:#e8e0d0}
.map-holder .map-embed-wrap{width:100%;padding-bottom:50%;border-radius:6px;overflow:hidden;background:#e8e0d0}
.map-holder .map-embed-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map-holder .map-popout-btn{margin-top:10px}
.map-holder .map-fallback{font-size:13px;margin-top:8px;color:var(--brown);opacity:.7}
/* ===== Animations ===== */
.fade-up{opacity:0;transform:translateY(40px);transition:opacity .7s ease,transform .7s ease}
.fade-up.visible{opacity:1;transform:translateY(0)}
.back-top.show{opacity:1!important;visibility:visible!important}
/* ===== Responsive ===== */
@media(max-width:1024px){
.hero .container{grid-template-columns:1fr}
.hero-title-stack h1{font-size:62px}
.hero-card-stack{display:none}
.svc-grid,.works-grid,.news-grid{grid-template-columns:repeat(2,1fr)}
.prod-grid{grid-template-columns:repeat(2,1fr)}
.team-grid{grid-template-columns:repeat(2,1fr)}
.story-grid{grid-template-columns:1fr}
.contact-wrap{grid-template-columns:1fr}
.footer-grid{grid-template-columns:1fr 1fr}
.milestone-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
.nav{display:none;position:absolute;top:100%;left:0;width:100%;background:var(--forest);flex-direction:column;padding:24px;gap:18px;box-shadow:0 20px 40px rgba(0,0,0,.3)}
.nav.active{display:flex}
.nav a{color:var(--sand)}
.hamburger{display:flex}
.hero{min-height:0;padding:130px 0 80px}
.hero-title-stack h1{font-size:44px}
.section,.section.services,.section.works,.section.news,.products-page,.news-page,.contact-page,.story,.team,.cta{padding:70px 0}
.svc-grid,.works-grid,.news-grid,.prod-grid{grid-template-columns:1fr}
.team-grid,.contact-cards,.footer-grid,.form-row{grid-template-columns:1fr}
.contact-form,.contact-info{padding:34px 22px}
.section-head h2{font-size:32px}
.cta h2{font-size:30px}
.page-banner{padding:120px 0 70px}
.page-banner h1{font-size:38px}
.hero-meta{gap:20px;flex-wrap:wrap}
.news-row{grid-template-columns:1fr}
.news-row .nr-img{height:180px}
.story-img img{height:300px}
.layer-card{padding:24px}
.milestone-grid,.honor-grid{grid-template-columns:1fr}
}

/* ============================================
   CMS 适配（叠层设计 · 叠映层次风）
   ============================================ */
/* ---------- CMS 通用 ---------- */
.cms-section{padding:80px 0}
.cms-detail{max-width:900px;margin:0 auto}
.cms-detail>img{border-radius:6px;margin:0 auto 12px;max-width:100%}
.cms-detail h1{font-size:32px;margin:18px 0;color:var(--brown)}
.cms-detail .lead{color:var(--gray);margin-bottom:20px;font-size:16px}
.cms-detail .news-date-label{display:inline-block;background:var(--forest);color:var(--sand);font-size:13px;font-weight:800;padding:4px 14px;border-radius:3px}
.cms-content h2{font-size:24px;margin:24px 0 12px;color:var(--brown)}
.cms-content h3{font-size:20px;margin:20px 0 10px;color:var(--brown)}
.cms-content p,.cms-content ul,.cms-content li{color:var(--gray);margin-bottom:15px;line-height:1.9}
.cms-content ul{padding-left:18px;list-style:disc}
.cms-content img{border-radius:6px}
.cms-back{display:inline-block;color:var(--forest);font-size:14px;font-weight:700;margin-bottom:20px}
.cms-back:hover{text-decoration:underline}
.spec-list{list-style:none;padding:0;margin:0}
.spec-list li{color:var(--gray);padding:10px 0;border-bottom:2px dashed rgba(74,54,40,.15);font-size:14px}
.spec-list li b{color:var(--forest)}
.cms-pager{padding:30px 0;text-align:center}
.cms-pager .pagination{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;list-style:none;padding:0;margin:0}
.cms-pager .page-link{padding:10px 16px;border:2px solid var(--forest);border-radius:4px;background:transparent;color:var(--forest);font-size:14px;transition:.3s;display:inline-block}
.cms-pager .page-link:hover{border-color:var(--forest);background:var(--forest);color:var(--sand)}
.cms-pager .page-item.active .page-link{background:var(--forest);border-color:var(--forest);color:var(--sand)}
.cms-pager .page-item.disabled .page-link{opacity:.5;pointer-events:none}

/* ---------- 通用动画（兼容 .fade-in / .reveal） ---------- */
.fade-in,.reveal{opacity:0;transform:translateY(40px);transition:opacity .7s ease,transform .7s ease}
.fade-in.visible,.reveal.visible{opacity:1;transform:translateY(0)}

/* ---------- 筛选 tabs（cat-tabs 兼容） ---------- */
.cat-tabs{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:40px}
.cat-tab{padding:11px 28px;border:2px solid var(--forest);background:transparent;color:var(--forest);font-weight:700;cursor:pointer;transition:.3s;font-size:14px;border-radius:4px;font-family:var(--font)}
.cat-tab.active,.cat-tab:hover{background:var(--forest);color:var(--sand);box-shadow:4px 4px 0 var(--brown);transform:translate(-2px,-2px)}

/* ---------- 关于页：数据统计 ---------- */
.about-stats{padding:60px 0;background:var(--ivory)}
.about-stats .hero-meta{justify-content:center;gap:60px;border-top:2px solid rgba(74,54,40,.12);flex-wrap:wrap}
.about-stats .m{text-align:center}
.about-stats .m b{font-size:34px;color:var(--forest);font-weight:900;display:block}
.about-stats .m span{font-size:13px;color:var(--gray);letter-spacing:2px}
.about-stats .m em{display:block;font-style:normal;font-size:12px;color:var(--gray);margin-top:4px;letter-spacing:1px}

/* ---------- 关于页：发展历程 ---------- */
.milestones{background:var(--cream)}
.milestone-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;max-width:960px;margin:0 auto}
.milestone-card{position:relative;background:var(--ivory);padding:28px;border-radius:6px;border-top:4px solid var(--forest)}
.milestone-card::after{content:'';position:absolute;left:8px;top:8px;right:-8px;bottom:-8px;background:var(--sand);border-radius:6px;z-index:-1;opacity:0;transition:.35s}
.milestone-card:hover::after{opacity:1}
.milestone-card .m-year{display:inline-block;background:var(--forest);color:var(--sand);padding:3px 12px;border-radius:3px;font-size:13px;font-weight:800;margin-bottom:12px;letter-spacing:1px}
.milestone-card h4{font-size:18px;color:var(--brown);margin-bottom:8px}
.milestone-card p{font-size:13px;color:var(--gray);line-height:1.8}

/* ---------- 关于页：荣誉资质 ---------- */
.honors{background:var(--ivory)}
.honor-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:960px;margin:0 auto}
.honor-item{display:flex;gap:16px;align-items:flex-start;background:var(--cream);padding:24px 28px;border-radius:6px;position:relative;border-left:4px solid var(--forest)}
.honor-item img{width:64px;height:64px;object-fit:cover;border-radius:6px;flex-shrink:0;border:2px solid var(--sand)}
.honor-item .h-ico{font-size:36px;line-height:1;flex-shrink:0}
.honor-item h4{font-size:17px;color:var(--brown);margin-bottom:6px}
.honor-item p{font-size:13px;color:var(--gray);line-height:1.7}
.honor-item time{display:inline-block;margin-top:8px;background:var(--sand);color:var(--brown);font-size:12px;padding:2px 10px;border-radius:3px;font-weight:700}

/* ---------- 返回顶部 ---------- */
.back-top{position:fixed;right:24px;bottom:24px;width:46px;height:46px;background:var(--forest);color:var(--sand);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:18px;z-index:999;box-shadow:5px 5px 0 var(--brown);border:none;cursor:pointer;opacity:0;visibility:hidden;transition:.3s}

/* ---------- 表单提示 / 提交 ---------- */
.form-success{display:none;background:#e8f7ee;border:1px solid #a5e0bd;color:#1e7a44;padding:14px 18px;border-radius:6px;margin-bottom:18px;font-size:14px}
.form-success.show{display:block}
.form-alert-err{background:#fdecea;border:1px solid #f3c6c0;color:#b23b35;padding:14px 18px;border-radius:6px;margin-bottom:18px;font-size:14px}
.form-alert-err li{color:#b23b35}
.form-submit{width:100%;cursor:pointer}
.price-tag{display:inline-block;background:var(--forest);color:var(--sand);padding:6px 16px;border-radius:4px;font-size:16px;font-weight:800;margin-bottom:12px}

/* ---------- 搜索结果 ---------- */
.search-result{display:block;background:var(--ivory);border:1px solid rgba(45,90,61,.15);border-left:4px solid var(--forest);padding:20px 24px;border-radius:6px;transition:.3s}
.search-result:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--sand)}
.search-result h3{font-size:17px;color:var(--brown);margin-bottom:6px}
.search-result p{font-size:14px;color:var(--gray);line-height:1.7}

/* ===== CMS global link-color reset (fixes default blue/underline) ===== */
a:has(h1), a:has(h2), a:has(h3), a:has(h4), a:has(img),
a.logo, a.logo *, .logo, .logo *,
a.news-thumb, a.news-thumb *, a.prod-thumb, a.prod-thumb *,
a.img-wrap, a.img-wrap *, a.thumb, a.thumb *, a.cover, a.cover *,
a[style*='background-image'], a[style*='background'],
a.card, a.card *, a.work-card, a.work-card *, a.product-card, a.product-card *,
a.news-card, a.news-card *, a.news-item, a.news-item *, a.case-card, a.case-card *,
a.service-card, a.service-card *, a.svc-card, a.svc-card *, a.item-card, a.item-card * {
  color: inherit !important;
  text-decoration: none !important;
}
a:has(h1):hover, a:has(h2):hover, a:has(h3):hover, a:has(h4):hover,
a.logo:hover, .logo:hover, a.card:hover, a.card *:hover,
a.news-thumb:hover, a.prod-thumb:hover, a.work-card:hover, a.product-card:hover,
a.news-card:hover, a.news-item:hover, a.case-card:hover, a.service-card:hover { color: inherit !important; }
a.prod-img-link, a.prod-img-link *,
a.img-link, a.img-link *, a.thumb-link, a.thumb-link *,
a.cover-link, a.cover-link *, a.media-link, a.media-link *,
a[class*='-thumb'], a[class*='-img'], a[class*='-cover'],
a[class*='thumb-'], a[class*='img-'],
a.img-side, a.img-side *, a.pic, a.pic *, a.pic-link, a.pic-link * {
  color: inherit !important;
  text-decoration: none !important;
}
/* ===== CMS heading-link reset (anchor inside heading) ===== */
h1 a, h2 a, h3 a, h4 a, h5 a {
  color: inherit !important;
  text-decoration: none !important;
}
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover { color: inherit !important; }
