:root{
  --ink:#2a2522;
  --muted:#69615b;
  --paper:#f8f5ef;
  --surface:#efe7dd;
  --card:#fffdfa;
  --wine:#7d3240;
  --wine2:#a85868;
  --gold:#c6a36a;
  --line:#d9d0c5;
  --sage:#31564e;
  --serif:"Noto Serif SC","Songti SC","STSong","SimSun",serif;
  --sans:"Noto Sans SC","Microsoft YaHei","PingFang SC",Arial,sans-serif;
  --shadow:0 18px 48px rgba(55,39,32,.10);
}

html,*{scrollbar-width:none;-ms-overflow-style:none}
::-webkit-scrollbar{width:0;height:0;display:none}

body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7}
.topbar{height:76px;background:rgba(248,245,239,.96);border-color:rgba(72,54,44,.12)}
.brand{font-family:var(--serif);letter-spacing:.06em}
.brand-logo{width:48px;height:52px}
.brand-lockup{display:grid;gap:3px;line-height:1}
.brand-cn{display:flex;align-items:baseline;gap:7px;white-space:nowrap}
.brand-cn strong{color:var(--wine);font-size:21px;font-weight:700;letter-spacing:.12em}
.brand-cn em{color:#4b4541;font-size:13px;font-style:normal;font-weight:600;letter-spacing:.08em}
.brand small{display:flex;align-items:baseline;gap:7px;margin:0;color:#6f6761;line-height:1;white-space:nowrap}
.brand small b{color:var(--wine);font:700 12px/1 Arial,sans-serif;letter-spacing:.14em}
.brand small span{font:500 8.5px/1 Arial,sans-serif;letter-spacing:.18em}
.brand-kicker strong{font-size:1.45em;letter-spacing:.18em}
.topbar nav{gap:30px;color:#514b46;font-size:14px}
.topbar nav a{position:relative;border:0}
.topbar nav a::after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:1px;background:var(--wine);transition:right .25s ease}
.topbar nav a:hover::after{right:0}

.home-hero{min-height:calc(100vh - 76px);grid-template-columns:55% 45%;background:var(--surface)}
.home-hero-media{height:calc(100vh - 76px);min-height:650px;background:#d7cec5}
.home-hero-copy{background:#eee5da}
.home-hero h1,.category-hero h1,.case-panel h1,.section-intro h2,.brand-story h2,.contact-section h2{font-family:var(--serif)}
.home-hero h1{font-size:clamp(40px,3.8vw,62px);line-height:1.36}
.hero-lead{color:#5e5650;font-size:16px;line-height:1.95}
.primary-link{background:var(--wine);border:1px solid var(--wine);transition:background .2s,color .2s}
.primary-link:hover{background:transparent;color:var(--wine)}
.kicker{font-size:12px;letter-spacing:.24em}
.home-hero-copy>.kicker{color:var(--wine);text-shadow:none}

.page-section{padding:96px max(24px,calc((100vw - 1440px)/2))}
.brand-story{background:var(--surface);border-color:var(--line);gap:clamp(48px,7vw,110px)}
.brand-story-copy>p{color:#5f5751;font-size:15px}
.brand-inline{display:inline-block;margin-right:5px;color:var(--wine);font:700 27px/1 var(--serif);letter-spacing:.1em;vertical-align:-3px}
.service-city{display:inline-block;margin:0 3px;padding:0 5px 2px;color:var(--wine);font:700 20px/1.15 var(--serif);border-bottom:2px solid #cda96d;letter-spacing:.08em}
.advantage-grid{border-color:var(--line);background:var(--line)}
.advantage-grid article{min-height:190px;background:#f9f5ef}
.advantage-grid p,.section-intro>p,.product-info p,.source-note p,footer p{color:var(--muted)}
.section-intro{margin-bottom:44px}

.major-grid{gap:16px}
.major-card{min-height:480px;background:#d8cec5;border:1px solid rgba(255,255,255,.45);box-shadow:0 14px 36px rgba(48,34,29,.10)}
.media-blur{position:absolute;inset:-14px;background-position:center;background-size:cover;filter:blur(16px);transform:scale(1.08);opacity:.38}
.major-card>img,.product-cover>img,.carousel-slide>img{z-index:1}
.major-card::after{z-index:1}
.major-card-content{z-index:2;height:202px;grid-template-rows:32px 44px 46px 66px}
.major-price{position:absolute;top:2px;right:0;padding:5px 9px;border:1px solid rgba(255,255,255,.42);background:rgba(23,18,16,.26);color:#fff;font:700 12px/1.2 var(--sans);letter-spacing:.04em;backdrop-filter:blur(6px)}
.major-card h3{font-family:var(--serif)!important;font-size:27px!important;font-weight:600!important;letter-spacing:.04em!important}
.major-children .major-number,.major-children h3{color:#ffdcea}
.major-adult .major-number,.major-adult h3{color:#f2d39c}
.major-wedding .major-number,.major-wedding h3{color:#ffd2c6}
.major-business .major-number,.major-business h3{color:#d5eee7}
.minor-list span{font-size:12px;padding:5px 9px}

.featured-section{background:var(--surface)}
.featured-section .product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 18px}
.product-card{background:var(--card);border:1px solid rgba(119,96,80,.12);box-shadow:0 10px 28px rgba(53,39,32,.06)}
.product-card:hover{box-shadow:var(--shadow)}
.product-cover{background:#ddd4cb}
.product-cover .media-blur{opacity:.3}
.product-cover img,.product-cover video{position:relative;z-index:1}
.product-info{padding:20px 20px 22px}
.product-topline{font-size:13px}
.product-price{font-size:18px}
.product-info h3{font-family:var(--serif);font-size:20px}
.product-info p{display:-webkit-box;min-height:44px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}

.contact-section{background:#743241}
.contact-section .kicker{font-size:12px}
.contact-highlight{font-size:16px}
.contact-cards{justify-self:end;width:min(100%,610px)}
.contact-card{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:16px;background:#fffdfa;border-top:4px solid transparent}
.contact-card.wechat-card{border-top-color:#07c160;box-shadow:0 18px 50px rgba(7,193,96,.13)}
.contact-card.xhs-card{border-top-color:#ff2442;box-shadow:0 18px 50px rgba(255,36,66,.13)}
.contact-card img{width:min(100%,236px);margin:auto;border:1px solid #ece7e0}
.contact-card>.platform-logo{width:132px;height:42px;margin:0 auto 14px;border:0;object-fit:contain}
.contact-card div{text-align:center}
.contact-card span{font-size:12px}
.source-note{display:grid;grid-template-columns:minmax(360px,.85fr) minmax(0,1.8fr);gap:clamp(38px,6vw,88px);align-items:start;padding-top:74px;padding-bottom:74px;background:linear-gradient(135deg,#f8f3ec 0%,#efe5da 100%);border-top:1px solid var(--line)}
.source-note-title>span{display:block;margin-bottom:14px;color:var(--wine);font-size:11px;font-weight:700;letter-spacing:.22em}
.source-note-title h2{margin:0;white-space:nowrap;font:600 clamp(26px,2.25vw,36px)/1.45 var(--serif)}
.source-note-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#d8c9bb;gap:1px;border:1px solid #d8c9bb}
.source-note-grid article{min-height:164px;padding:24px 22px;background:rgba(255,252,247,.88)}
.source-note-grid b{display:block;margin-bottom:20px;color:var(--wine);font:italic 600 15px var(--serif)}
.source-note-grid h3{margin:0 0 10px;font:600 17px var(--serif)}
.source-note-grid p{margin:0;color:var(--muted);font-size:12px;line-height:1.8}
.site-footer{display:grid;grid-template-columns:auto minmax(430px,1fr) auto;gap:clamp(30px,5vw,72px);align-items:center;padding-top:42px;padding-bottom:42px;background:#e6dbcf}
.footer-regions{justify-self:center;display:flex;align-items:center;gap:28px}
.footer-regions>span{display:grid;grid-template-columns:auto auto;align-items:baseline;column-gap:10px;row-gap:4px}
.footer-regions small{grid-column:1/-1;color:#7c7067;font-size:10px;letter-spacing:.13em}
.footer-regions strong{color:var(--wine);font:700 25px/1 var(--serif);letter-spacing:.08em}
.footer-regions em{color:#6e645d;font-size:12px;font-style:normal}
.footer-regions>i{display:block;width:1px;height:45px;background:#cbbcaf}
.footer-contact{display:grid;gap:8px;text-align:right}
.footer-phone{display:grid;gap:5px;text-align:right;color:var(--wine)}
.footer-phone small{color:#756b63;font-size:10px;letter-spacing:.12em}
.footer-phone strong{font:600 18px var(--serif);letter-spacing:.05em}
.icp-link,.case-footer a{color:#756b63;font-size:11px;letter-spacing:.04em;text-decoration:none}
.icp-link:hover,.case-footer a:hover{color:var(--wine)}
.case-footer{padding:18px 20px 28px;text-align:center;background:#f8f5ef}

.category-hero{padding-top:42px;padding-bottom:36px;background:#f4eee6}
.category-hero h1{font-size:clamp(42px,4.3vw,60px)}
.category-browser{max-width:1480px;margin:auto;padding-top:48px}
.category-browser aside{position:sticky;top:104px;align-self:start;border-color:var(--line)}
.major-nav a{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:15px}
.major-nav a small{color:#9b746b;font-size:10px;white-space:nowrap}
.major-nav a.active{background:#eee3d8}
.minor-tabs{margin-bottom:34px}
.minor-tabs button{font-size:14px;border-color:#d7cdc2;background:#fbf8f3}
.minor-tabs button.active{background:var(--wine);border-color:var(--wine)}
.result-meta b{font-family:var(--serif);font-size:22px}
.category-results>.product-grid{gap:28px 20px}

.case-detail-body{background:var(--paper)}
.case-page{height:calc(100vh - 76px);grid-template-columns:minmax(340px,30vw) minmax(0,1fr);background:#e6ddd3}
.case-panel{background:var(--paper);border-color:var(--line)}
.case-panel h1{font-size:clamp(34px,2.7vw,44px)}
.case-price{color:var(--wine)}
.detail-block p,.detail-block ul{font-size:14px;color:#5d5650}
.case-note{font-size:12px;color:#675f59;background:#eee6dc}
.case-viewer{background:#d8cec4}
.carousel-stage{background:#d2c7bc}
.carousel-slide .media-blur{z-index:0;opacity:.25}
.carousel-arrow{background:rgba(255,253,250,.94)}
.mobile-case-details{display:none}

.contact-popover{width:360px}
.dock-qr img{image-rendering:auto}
.dock-qr{border-top:3px solid transparent}
.dock-qr.wechat-qr{border-top-color:#07c160}
.dock-qr.xhs-qr{border-top-color:#ff2442}
.dock-qr .platform-logo{width:112px;height:36px;aspect-ratio:auto;margin:0 auto 8px;object-fit:contain}
.dock-qr b{font-size:11px;line-height:1.45}

@media(max-width:1100px){
  .featured-section .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-cards{justify-self:start}
}

@media(max-width:720px){
  ::-webkit-scrollbar{width:0;height:0}
  body{font-size:14px}
  .topbar{height:68px}
  .brand-logo{width:42px;height:46px}
  .brand-cn{gap:5px}
  .brand-cn strong{font-size:18px}
  .brand-cn em{font-size:11px}
  .brand small{gap:5px}
  .brand small b{font-size:10.5px}
  .brand small span{font-size:7.5px}
  .topbar nav{gap:14px}
  .topbar nav a:last-child{display:none}
  .home-hero{min-height:0}
  .home-hero-media{height:48vh;min-height:330px}
  .home-hero-copy{padding:32px 22px 52px}
  .hero-brand-emblem{position:absolute;top:24px;right:20px;width:104px;margin:0}
  .home-hero-copy>.kicker{max-width:190px;min-height:58px;padding-top:6px}
  .home-hero h1{font-size:32px}
  .hero-lead{font-size:14px;line-height:1.85}
  .kicker{font-size:11px}
  .page-section{padding:68px 18px}
  .brand-story{gap:28px}
  .brand-story h2,.section-intro h2{font-size:30px}
  .brand-story-copy>p{font-size:14px;line-height:1.85}
  .brand-inline{font-size:23px}
  .service-city{font-size:18px}
  .advantage-grid article{padding:22px;min-height:0}
  .advantage-grid p{font-size:13px}
  .major-card{min-height:340px}
  .major-card-content{left:24px;right:24px;bottom:18px;height:182px;grid-template-rows:28px 42px 42px 60px}
  .major-card h3{font-size:25px!important}
  .major-card p{font-size:13px}
  .minor-list span{font-size:12px}
  .featured-section .product-grid{grid-template-columns:1fr;gap:16px}
  .product-info{padding:16px 17px 18px}
  .product-info h3{font-size:19px}
  .product-info p{font-size:13px}
  .contact-section{padding-top:62px;padding-bottom:62px}
  .contact-section h2{font-size:30px}
  .contact-cards{width:100%}
  .contact-card img{width:min(100%,156px)}
  .contact-card b{font-size:15px}
  .contact-card span{font-size:11px}
  .source-note{grid-template-columns:1fr;gap:26px;padding-top:50px;padding-bottom:50px}
  .source-note-title h2{white-space:normal}
  .source-note-grid{grid-template-columns:1fr}
  .source-note-grid article{min-height:0;padding:20px}
  .source-note-grid b{margin-bottom:12px}
  .site-footer{grid-template-columns:1fr;gap:26px;padding:36px 20px;text-align:left}
  .footer-regions{justify-self:start;gap:18px}
  .footer-regions>span{grid-template-columns:1fr;gap:4px}
  .footer-regions small{grid-column:auto}
  .footer-regions strong{font-size:22px}
  .footer-regions>i{height:56px}
  .footer-contact,.footer-phone{text-align:left}
  .category-hero{padding-top:34px;padding-bottom:30px}
  .category-hero h1{font-size:36px}
  .category-browser{padding-top:24px}
  .major-nav a{font-size:14px}
  .minor-tabs{position:sticky;top:68px;z-index:20;margin:0 -18px 26px;padding:10px 18px;background:rgba(248,245,239,.96);backdrop-filter:blur(10px)}
  .minor-tabs button{font-size:13px}
  .result-meta b{font-size:20px}
  .case-detail-body{height:auto!important;overflow:auto!important;padding-bottom:66px}
  .case-detail-body .topbar{position:sticky;top:0}
  .case-detail-body .case-page{height:auto!important;display:flex;flex-direction:column;background:var(--paper)}
  .case-panel{order:1;min-height:0;overflow:visible;padding:20px 18px 18px;border:0}
  .case-breadcrumb{margin-bottom:12px;font-size:12px}
  .case-panel .kicker{margin-bottom:8px;font-size:11px}
  .case-panel h1{margin:0 0 12px;font-size:26px;line-height:1.45}
  .case-price{display:flex;align-items:baseline;gap:10px;padding:10px 0;font-size:22px}
  .case-price small{font-size:12px}
  .desktop-case-details{display:none}
  .case-panel>.case-back{display:none}
  .case-contact-prompt{margin:10px 0 0;padding:12px 14px}
  .case-contact-prompt strong{font-size:14px}
  .case-contact-prompt p{font-size:12px;line-height:1.65}
  .case-contact-prompt a{font-size:12px}
  .case-viewer{order:2;width:100%;height:auto;display:grid;grid-template-rows:32px auto 62px;padding:10px 10px 8px}
  .carousel-stage{width:100%;height:min(78vw,420px);min-height:285px}
  .case-detail-body .carousel-arrow{position:absolute;top:50%;margin-top:-19px}
  .carousel-thumb{flex-basis:68px;height:48px}
  .mobile-case-details{order:3;display:block;padding:30px 18px 44px;background:var(--paper)}
  .mobile-case-details>h2{margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid var(--line);font:600 22px var(--serif)}
  .mobile-case-details .detail-block{margin-bottom:22px}
  .mobile-case-details .detail-block h2{font-size:16px}
  .mobile-case-details .detail-block p,.mobile-case-details .detail-block ul{font-size:14px;line-height:1.8}
  .mobile-case-details .case-note{font-size:12px}
  .mobile-case-details .case-back{display:inline-block;margin-top:18px;font-size:13px}
  .contact-dock,.case-detail-body .contact-dock{left:8px!important;right:8px!important;width:auto!important}
  .contact-popover{left:10px;right:10px;width:auto}
}

@media(max-width:390px){
  .brand{gap:9px;font-size:13px}
  .brand-logo{width:38px;height:42px}
  .brand-cn strong{font-size:17px}
  .brand-cn em{font-size:10px}
  .brand small b{font-size:10px}
  .brand small span{font-size:7px}
  .contact-card img{width:min(100%,145px)}
}
