:root { --paper:#f2eee7; --white:#fbfaf7; --ink:#211c17; --muted:#70685e; --wood:#ad7b4c; --wood-light:#d0ad84; --line:rgba(33,28,23,.14); --line-light:rgba(255,255,255,.22); --shadow:0 16px 34px rgba(33,28,23,.08); --radius:4px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font:15px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
body,input,textarea,select,button { font-size:15px; }
h1,h2,h3,p { margin:0; }
h1,h2,h3,.logo__cn,.footer-label { font-family:"Songti SC","STSong","Source Han Serif SC","Noto Serif SC",serif; letter-spacing:0; }
h1 { font-size:4.25rem; line-height:1.08; } h2 { font-size:2.3rem; line-height:1.15; } h3 { font-size:1.13rem; line-height:1.3; }
a { color:inherit; } img { display:block; max-width:100%; } button,input,select,textarea { font:inherit; } button { color:inherit; }
.shell { width:min(1180px,calc(100% - 48px)); margin:0 auto; }
.skip-link { position:absolute; left:14px; top:14px; z-index:100; padding:8px 12px; background:var(--white); border:1px solid var(--line); transform:translateY(-160%); } .skip-link:focus { transform:translateY(0); }
.site-header { position:sticky; top:0; z-index:40; background:rgba(242,238,231,.95); border-bottom:1px solid var(--line); backdrop-filter:blur(12px); }
.site-header__inner { min-height:78px; display:flex; align-items:center; gap:28px; justify-content:space-between; }
.logo { display:flex; flex-direction:column; gap:0; text-decoration:none; min-width:160px; } .logo__en { color:var(--wood); font-size:.68rem; font-weight:700; letter-spacing:.16em; } .logo__cn { font-size:1.34rem; line-height:1.2; }
.main-nav { display:flex; align-items:center; gap:22px; justify-content:center; flex:1; } .main-nav a,.mobile-nav a { text-decoration:none; color:var(--muted); white-space:nowrap; } .main-nav a:hover,.main-nav a.is-active,.mobile-nav a:hover,.mobile-nav a.is-active { color:var(--ink); } .main-nav a.is-active { position:relative; } .main-nav a.is-active::after { content:""; position:absolute; left:0; right:0; bottom:-28px; height:2px; background:var(--wood); }
.header-tools { display:flex; align-items:center; gap:14px; } .phone-link { display:flex; flex-direction:column; gap:0; text-decoration:none; color:var(--muted); font-size:.74rem; line-height:1.3; text-align:right; } .phone-link strong { color:var(--ink); font-size:.92rem; font-weight:600; }
.button { min-height:46px; display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:0 18px; border:1px solid transparent; border-radius:var(--radius); text-decoration:none; cursor:pointer; font-weight:600; white-space:nowrap; transition:background-color .18s ease,border-color .18s ease,color .18s ease; } .button:hover,.button:focus-visible { transform:translateY(-1px); }
.button--dark { background:var(--ink); color:var(--white); } .button--dark:hover,.button--dark:focus-visible { background:#0f0c09; } .button--light { border-color:rgba(255,255,255,.48); color:#fff; background:rgba(33,28,23,.16); } .button--light:hover,.button--light:focus-visible { background:rgba(33,28,23,.42); border-color:#fff; } .button--outline { border-color:var(--line); color:var(--ink); background:transparent; } .button--outline:hover,.button--outline:focus-visible { border-color:var(--wood); color:var(--wood); } .button--compact { min-height:40px; padding:0 14px; font-size:.9rem; }
.icon { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; flex:0 0 auto; } .icon-button { width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center; padding:0; border:1px solid var(--line); border-radius:50%; background:transparent; cursor:pointer; } .icon-button--light { border-color:var(--line-light); color:#fff; } .menu-toggle { display:none; width:42px; height:42px; border:1px solid var(--line); border-radius:var(--radius); background:transparent; cursor:pointer; } .mobile-nav { display:none; }
.home-hero { position:relative; height:min(690px,calc(100svh - 78px)); min-height:540px; overflow:hidden; background:#1e1915; color:#fff; } .hero-slide { position:absolute; inset:0; opacity:0; pointer-events:none; transition:opacity .22s ease; } .hero-slide.is-active { opacity:1; pointer-events:auto; } .hero-slide>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; } .hero-slide__veil { position:absolute; inset:0; background:linear-gradient(90deg,rgba(25,20,16,.78),rgba(25,20,16,.24) 60%,rgba(25,20,16,.1)); } .hero-slide__inner { position:relative; z-index:1; height:100%; display:flex; align-items:flex-end; padding-bottom:94px; } .hero-slide__copy { max-width:680px; } .eyebrow { margin-bottom:11px; color:var(--wood); font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; } .eyebrow--light { color:var(--wood-light); } .hero-slide__service { margin:21px 0 28px; color:rgba(255,255,255,.88); font-size:1.15rem; } .hero-controls { position:absolute; z-index:2; left:50%; bottom:24px; transform:translateX(-50%); display:flex; align-items:center; gap:14px; } .hero-dots { display:flex; gap:8px; } .hero-dot { width:28px; height:3px; padding:0; border:0; background:rgba(255,255,255,.4); cursor:pointer; } .hero-dot.is-active { background:#fff; }
.section { padding:94px 0; scroll-margin-top:94px; } .section--paper { background:var(--paper); } .section--white { background:var(--white); } .section-intro { margin-bottom:34px; } .section-intro--row { display:flex; gap:30px; align-items:flex-end; justify-content:space-between; } .section-intro__note { max-width:330px; color:var(--muted); line-height:1.7; } .section-actions { margin-top:26px; display:flex; } .section-actions--end { justify-content:flex-end; }
.service-strip { border-bottom:1px solid var(--line); } .service-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); } .service-card { min-height:170px; padding:26px 22px; display:grid; grid-template-columns:38px minmax(0,1fr); gap:14px; border-right:1px solid var(--line); } .service-card:last-child { border-right:0; } .service-card__icon { width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center; color:var(--wood); border:1px solid rgba(173,123,76,.35); border-radius:50%; } .service-card h3 { margin:0 0 9px; } .service-card p { color:var(--muted); line-height:1.7; }
.case-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px 18px; } .case-card { display:block; padding:0; border:0; background:transparent; text-decoration:none; text-align:left; cursor:pointer; } .case-card__media { aspect-ratio:1.55/1; overflow:hidden; background:#e6dfd5; } .case-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .22s ease; } .case-card:hover .case-card__media img,.case-card:focus-visible .case-card__media img { transform:scale(1.02); } .case-card__body { padding-top:13px; } .case-card__title { font-family:"Songti SC","STSong","Source Han Serif SC",serif; font-size:1.15rem; } .case-card__meta { margin-top:3px; display:flex; gap:13px; color:var(--muted); font-size:.88rem; } .case-card__meta span+span::before { content:"/"; margin-right:13px; color:var(--wood); } .case-card__hint { margin-top:8px; color:var(--wood); font-size:.86rem; opacity:0; transition:opacity .18s ease; } .case-card:hover .case-card__hint,.case-card:focus-visible .case-card__hint { opacity:1; }
.product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; } .product-card { position:relative; display:block; min-width:0; overflow:hidden; border:1px solid var(--line); background:var(--paper); text-decoration:none; } .product-card__media { aspect-ratio:1.16/1; overflow:hidden; background:#e8e2d9; } .product-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .22s ease; } .product-card__body { padding:16px; display:flex; align-items:baseline; justify-content:space-between; gap:12px; } .product-card__name { font-family:"Songti SC","STSong","Source Han Serif SC",serif; font-size:1.15rem; } .product-card__category { color:var(--muted); font-size:.82rem; } .product-card__overlay { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; gap:8px; background:rgba(33,28,23,.68); color:#fff; opacity:0; transition:opacity .18s ease; } .product-card:hover .product-card__overlay,.product-card:focus-visible .product-card__overlay { opacity:1; } .product-card:hover .product-card__media img,.product-card:focus-visible .product-card__media img { transform:scale(1.025); }
.cta-band { padding:54px 0; background:var(--ink); color:#fff; } .cta-band__inner { display:flex; align-items:center; justify-content:space-between; gap:24px; } .cta-band h2 { color:#fff; }
.site-footer { padding:42px 0 46px; background:#17130f; color:rgba(255,255,255,.82); } .site-footer__grid { display:grid; grid-template-columns:1fr 1fr 1fr 1.25fr; gap:30px; } .site-footer p { line-height:1.75; } .footer-label { margin-bottom:10px; color:#fff; font-size:1.04rem; } .footer-links { display:grid; grid-template-columns:repeat(2,max-content); gap:5px 18px; } .footer-links a { color:rgba(255,255,255,.72); text-decoration:none; } .footer-links a:hover { color:#fff; }
.page-hero { position:relative; min-height:330px; display:flex; align-items:flex-end; overflow:hidden; background:var(--ink); color:#fff; } .page-hero__image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.72; } .page-hero__veil { position:absolute; inset:0; background:linear-gradient(90deg,rgba(33,28,23,.72),rgba(33,28,23,.22)); } .page-hero__inner { position:relative; z-index:1; padding:76px 0 54px; } .page-hero h1 { font-size:3.8rem; } .page-hero__sub { margin-top:14px; color:rgba(255,255,255,.82); font-size:1.05rem; } .page-section { padding:86px 0; } .page-section--white { background:var(--white); } .page-section--paper { background:var(--paper); } .page-section__head { margin-bottom:32px; } .page-section__head p:not(.eyebrow) { margin-top:12px; max-width:640px; color:var(--muted); }
.filter-tabs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:30px; } .filter-tab { min-height:42px; padding:0 16px; border:1px solid var(--line); border-radius:var(--radius); background:transparent; cursor:pointer; } .filter-tab.is-active { border-color:var(--ink); background:var(--ink); color:#fff; } .case-grid--page { gap:34px 18px; } .case-grid--page .case-card__media { aspect-ratio:1.6/1; } .empty-state { grid-column:1/-1; padding:60px 0; color:var(--muted); text-align:center; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.detail-dialog { width:min(1000px,calc(100% - 24px)); max-height:calc(100% - 24px); padding:0; border:0; border-radius:var(--radius); background:transparent; } .detail-dialog::backdrop { background:rgba(23,19,15,.72); } .detail-dialog__panel { position:relative; max-height:calc(100vh - 24px); overflow:auto; padding:18px; background:var(--white); } .detail-dialog__close { position:sticky; z-index:2; top:0; float:right; width:38px; height:38px; border:1px solid var(--line); border-radius:50%; background:rgba(251,250,247,.92); cursor:pointer; font-size:1.4rem; line-height:1; } .detail-dialog__content { clear:both; padding-top:6px; } .detail-dialog__gallery { display:grid; grid-template-columns:1.3fr .7fr; gap:10px; } .detail-dialog__gallery img { width:100%; height:100%; min-height:160px; object-fit:cover; background:#e6dfd5; } .detail-dialog__gallery img:first-child { grid-row:span 2; } .detail-dialog__copy { padding:24px 0 6px; } .detail-dialog__copy h2 { font-size:2rem; } .detail-dialog__copy p { margin-top:12px; max-width:680px; color:var(--muted); } .detail-dialog__action { margin-top:20px; }
.products-tabs { margin-bottom:34px; } .product-grid--page { grid-template-columns:repeat(4,minmax(0,1fr)); } .product-grid--page .product-card { cursor:pointer; } .product-dialog__gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; } .product-dialog__gallery img { width:100%; aspect-ratio:1.15/1; object-fit:cover; background:#e6dfd5; } .product-specs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:24px; } .product-spec { padding:14px; border-top:2px solid var(--wood); background:var(--paper); } .product-spec strong { display:block; margin-bottom:6px; } .product-spec span { color:var(--muted); line-height:1.6; }
.service-grid--page { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; } .service-block { min-height:210px; padding:24px; border-top:2px solid var(--wood); background:var(--white); } .service-block__number { color:var(--wood); font-family:Georgia,serif; font-size:1.1rem; } .service-block h2 { margin-top:32px; font-size:1.5rem; } .service-block p { margin-top:10px; color:var(--muted); } .process-line { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); } .process-step { min-height:174px; padding:26px 22px; border-right:1px solid var(--line); } .process-step:last-child { border-right:0; } .process-step__index { color:var(--wood); font-family:Georgia,serif; font-size:1.25rem; } .process-step h3 { margin-top:25px; } .process-step p { margin-top:7px; color:var(--muted); } .faq-list { display:grid; gap:0; border-top:1px solid var(--line); } .faq-list details { padding:18px 0; border-bottom:1px solid var(--line); } .faq-list summary { cursor:pointer; font-weight:600; list-style:none; } .faq-list summary::-webkit-details-marker { display:none; } .faq-list summary::after { content:"+"; float:right; color:var(--wood); font-size:1.2rem; } .faq-list details[open] summary::after { content:"-"; } .faq-list details p { max-width:780px; padding-top:10px; color:var(--muted); } .service-action-bar { padding:22px 0; background:var(--ink); color:#fff; } .service-action-bar__inner { display:flex; align-items:center; justify-content:space-between; gap:18px; } .service-action-bar__inner p { color:rgba(255,255,255,.78); }
.about-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:52px; align-items:start; } .about-copy { display:grid; gap:18px; } .about-copy p { color:var(--muted); line-height:1.85; } .about-image { aspect-ratio:1.35/1; overflow:hidden; background:#e6dfd5; } .about-image img { width:100%; height:100%; object-fit:cover; } .about-photo-grid { display:grid; grid-template-columns:1.1fr .9fr .9fr; grid-template-rows:210px 210px; gap:14px; } .about-photo-grid figure { margin:0; overflow:hidden; background:#e6dfd5; } .about-photo-grid figure:first-child { grid-row:1/span 2; } .about-photo-grid img { width:100%; height:100%; object-fit:cover; } .qualification-row { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); } .qualification { min-height:124px; padding:22px 18px; border-right:1px solid var(--line); } .qualification:last-child { border-right:0; } .qualification strong { display:block; font-family:"Songti SC","STSong","Source Han Serif SC",serif; font-size:1.05rem; } .qualification span { display:block; margin-top:8px; color:var(--muted); font-size:.9rem; }
.contact-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; } .contact-info { display:grid; gap:0; align-content:start; } .contact-info__item { padding:19px 0; border-top:1px solid var(--line); } .contact-info__item:last-child { border-bottom:1px solid var(--line); } .contact-info__item span { display:block; color:var(--muted); font-size:.84rem; } .contact-info__item strong { display:block; margin-top:5px; font-family:"Songti SC","STSong","Source Han Serif SC",serif; font-size:1.42rem; font-weight:500; } .lead-form { padding:24px; border:1px solid var(--line); background:var(--white); } .form-grid { display:grid; gap:18px; } .form-field { display:grid; gap:7px; } .form-field label { color:var(--muted); font-size:.88rem; } .form-field input,.form-field textarea { width:100%; padding:12px 0; border:0; border-bottom:1px solid var(--line); border-radius:0; outline:none; background:transparent; color:var(--ink); } .form-field input:focus,.form-field textarea:focus { border-color:var(--wood); } .form-field textarea { min-height:120px; resize:vertical; } .form-actions { margin-top:20px; display:flex; align-items:center; gap:14px; } .form-status { color:var(--wood); font-size:.9rem; }
.message-widget { position:fixed; right:20px; bottom:20px; z-index:35; } .message-toggle { min-height:42px; padding:0 14px; display:inline-flex; align-items:center; gap:8px; border:1px solid var(--ink); border-radius:var(--radius); background:var(--ink); color:#fff; cursor:pointer; box-shadow:var(--shadow); } .message-panel { position:absolute; right:0; bottom:calc(100% + 10px); width:280px; padding:16px; border:1px solid var(--line); border-radius:var(--radius); background:var(--white); box-shadow:var(--shadow); } .message-panel[hidden] { display:none; } .message-panel h2 { font-size:1.3rem; } .message-panel p { margin-top:5px; color:var(--muted); font-size:.88rem; } .message-panel .form-field { margin-top:13px; } .message-panel .button { margin-top:14px; width:100%; }
@media (max-width:1000px) { h1{font-size:3.45rem;} h2{font-size:2rem;} .main-nav{gap:14px;} .phone-link{display:none;} .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));} .service-card:nth-child(2){border-right:0;} .service-card:nth-child(-n+2){border-bottom:1px solid var(--line);} .product-grid--page{grid-template-columns:repeat(2,minmax(0,1fr));} .service-grid--page{grid-template-columns:repeat(2,minmax(0,1fr));} .about-layout,.contact-layout{grid-template-columns:1fr;} }
@media (max-width:720px) { body,input,textarea,select,button{font-size:14px;} .shell{width:min(100% - 28px,1180px);} h1{font-size:2.55rem;} h2{font-size:1.75rem;} .site-header__inner{min-height:68px;gap:12px;} .logo{min-width:0;} .logo__cn{font-size:1.18rem;} .main-nav,.header-tools>.button{display:none;} .header-tools{margin-left:auto;} .menu-toggle{display:inline-flex;align-items:center;justify-content:center;} .mobile-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;max-height:0;overflow:hidden;padding:0 14px;border-top:0 solid var(--line);background:var(--paper);transition:max-height .2s ease,padding .2s ease,border-top-width .2s ease;} .mobile-nav.is-open{max-height:360px;padding:8px 14px 14px;border-top-width:1px;} .mobile-nav a{padding:11px 4px;border-bottom:1px solid var(--line);} .mobile-nav__phone{grid-column:1/-1;color:var(--wood)!important;} .home-hero{height:590px;min-height:0;} .hero-slide__inner{padding-bottom:86px;} .hero-slide__service{margin:16px 0 23px;font-size:1rem;} .hero-controls{bottom:20px;} .section,.page-section{padding:68px 0;} .section-intro--row,.cta-band__inner,.service-action-bar__inner{display:grid;align-items:start;} .section-intro__note{max-width:none;} .service-grid,.case-grid,.product-grid,.service-grid--page,.qualification-row,.process-line{grid-template-columns:1fr;} .service-card{min-height:0;border-right:0;border-bottom:1px solid var(--line);} .service-card:last-child{border-bottom:0;} .case-grid{gap:28px;} .product-grid--page{grid-template-columns:1fr 1fr;} .site-footer__grid{grid-template-columns:1fr 1fr;gap:28px 18px;} .page-hero{min-height:270px;} .page-hero__inner{padding:60px 0 38px;} .page-hero h1{font-size:2.7rem;} .detail-dialog__gallery,.product-dialog__gallery{grid-template-columns:1fr;} .detail-dialog__gallery img:first-child{grid-row:auto;} .product-specs{grid-template-columns:1fr;} .about-photo-grid{grid-template-columns:1fr 1fr;grid-template-rows:190px 190px;} .about-photo-grid figure:first-child{grid-row:1/span 2;} .contact-layout{gap:34px;} .lead-form{padding:18px;} .message-widget{right:12px;bottom:12px;} .message-panel{width:min(280px,calc(100vw - 24px));} }
@media (max-width:430px) { .site-footer__grid,.product-grid--page,.about-photo-grid{grid-template-columns:1fr;} .about-photo-grid{grid-template-rows:repeat(4,180px);} .about-photo-grid figure:first-child{grid-row:auto;} .form-actions{display:grid;} }

.footer-brand { display:grid; align-content:start; gap:13px; }
.logo--footer { min-width:0; color:#fff; }
.logo--footer .logo__cn { color:#fff; }
.footer-brand > p { max-width:210px; color:rgba(255,255,255,.58); font-size:.88rem; }
.detail-page { display:grid; gap:42px; }
.case-detail-meta { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.case-detail-meta > div { min-height:108px; display:grid; align-content:center; gap:6px; padding:18px 20px; border-right:1px solid var(--line); }
.case-detail-meta > div:last-child { border-right:0; }
.case-detail-meta span { color:var(--muted); font-size:.84rem; }
.case-detail-meta strong { font-family:"Songti SC","STSong","Source Han Serif SC",serif; font-size:1.15rem; font-weight:500; }
.case-detail-gallery-wrap { position:relative; display:grid; grid-template-columns:44px minmax(0,1fr) 44px; align-items:center; gap:12px; }
.case-detail-gallery { display:flex; min-width:0; overflow:hidden; scroll-behavior:smooth; scroll-snap-type:x mandatory; background:#e6dfd5; }
.case-detail-gallery__slide { flex:0 0 100%; min-width:0; margin:0; scroll-snap-align:start; }
.case-detail-gallery__slide button { display:block; width:100%; padding:0; border:0; background:transparent; cursor:zoom-in; }
.case-detail-gallery__slide img { width:100%; aspect-ratio:1.65/1; object-fit:cover; }
.gallery-control { width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center; padding:0; border:1px solid var(--line); border-radius:50%; background:var(--white); cursor:pointer; }
.gallery-control:hover,.gallery-control:focus-visible { border-color:var(--wood); color:var(--wood); }
.detail-copy { max-width:760px; }
.detail-copy h2 { margin-bottom:20px; }
.detail-copy > div { color:var(--muted); line-height:1.9; }
.detail-copy > div p,.detail-copy > div h3 { margin-top:12px; }
.detail-copy > div h3 { color:var(--ink); font-size:1.1rem; }
.detail-pagination { display:grid; grid-template-columns:1fr auto 1fr; gap:18px; align-items:center; padding-top:22px; border-top:1px solid var(--line); }
.detail-pagination__item { display:grid; gap:5px; min-width:0; text-decoration:none; }
.detail-pagination__item span { color:var(--muted); font-size:.82rem; }
.detail-pagination__item strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-family:"Songti SC","STSong","Source Han Serif SC",serif; font-size:1.08rem; font-weight:500; }
.detail-pagination__item--next { text-align:right; }
.product-detail-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.product-detail-gallery img { width:100%; aspect-ratio:1.25/1; object-fit:cover; background:#e6dfd5; }
.detail-pagination--single { display:flex; justify-content:flex-start; }
.appointment-dialog { width:min(620px,calc(100% - 24px)); max-height:calc(100% - 24px); padding:0; border:0; border-radius:var(--radius); background:transparent; }
.appointment-dialog::backdrop { background:rgba(23,19,15,.68); }
.appointment-dialog__panel { position:relative; max-height:calc(100vh - 24px); overflow:auto; padding:30px; background:var(--white); }
.appointment-dialog__panel .page-section__head { padding-right:34px; }
.appointment-dialog__panel .form-grid { margin-top:24px; }
.appointment-form { display:grid; gap:0; }
.floating-consult { position:fixed; right:20px; bottom:20px; z-index:35; display:grid; gap:7px; }
.floating-consult__item { min-width:112px; min-height:42px; display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:0 12px; border:1px solid var(--ink); border-radius:var(--radius); background:var(--ink); color:#fff; text-decoration:none; cursor:pointer; box-shadow:var(--shadow); }
.floating-consult__item:hover,.floating-consult__item:focus-visible { background:#0f0c09; }
.floating-consult__panel { position:absolute; right:0; bottom:calc(100% + 8px); width:210px; display:grid; gap:4px; padding:14px; border:1px solid var(--line); background:var(--white); box-shadow:var(--shadow); }
.floating-consult__panel[hidden] { display:none; }
.floating-consult__panel strong { font-family:"Songti SC","STSong","Source Han Serif SC",serif; }
.floating-consult__panel span { color:var(--muted); font-size:.88rem; overflow-wrap:anywhere; }
.lightbox-dialog { width:min(1220px,calc(100% - 24px)); max-width:none; max-height:calc(100% - 24px); padding:22px; border:0; border-radius:var(--radius); background:rgba(23,19,15,.96); }
.lightbox-dialog::backdrop { background:rgba(23,19,15,.86); }
.lightbox-dialog img { width:100%; max-height:calc(100vh - 68px); object-fit:contain; }
.lightbox-close { position:absolute; right:10px; top:10px; width:38px; height:38px; border:1px solid rgba(255,255,255,.45); border-radius:50%; background:rgba(23,19,15,.65); color:#fff; font-size:1.5rem; line-height:1; cursor:pointer; }

.eyebrow { display:grid; gap:5px; margin-bottom:11px; text-transform:none; letter-spacing:0; }
.eyebrow__en { color:var(--wood); font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.eyebrow__zh { color:var(--muted); font-size:.86rem; font-weight:500; letter-spacing:.04em; }
.eyebrow--light .eyebrow__en,.eyebrow--light .eyebrow__zh { color:var(--wood-light); }
.button__divider { opacity:.58; }
.button span { display:inline-block; }
.case-card__title { display:grid; gap:3px; }
.case-card__title-en { color:var(--wood); font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; }
.case-card__title-zh { font-family:"Songti SC","STSong","Source Han Serif SC",serif; font-size:1.15rem; }
.case-card__meta span+span::before { content:"|"; margin-right:13px; color:var(--wood); }
.service-card__en,.service-block__en { display:block; margin:-3px 0 8px; color:var(--wood); font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.service-block h2 { margin-top:26px; }
.product-grid--home,.product-grid--page { grid-template-columns:repeat(3,minmax(0,1fr)); }
.hero-slide__copy { max-width:760px; }
.hero-slide h1 { display:grid; gap:11px; font-size:3.7rem; }
.hero-title__en { color:rgba(255,255,255,.9); font-family:Georgia,"Times New Roman",serif; font-size:1.08rem; font-weight:500; letter-spacing:.08em; line-height:1.45; text-transform:uppercase; }
.hero-title__zh { display:block; }
.section-intro__note { display:grid; gap:6px; }
.section-intro__note-en { color:var(--ink); font-size:.82rem; letter-spacing:.02em; }
.section-intro__note-zh { color:var(--muted); }
.case-detail-title-en { margin-top:-3px; color:var(--wood-light); font-family:Georgia,"Times New Roman",serif; font-size:.84rem; letter-spacing:.1em; text-transform:uppercase; }

@media (max-width:720px) {
  .hero-slide h1 { font-size:2.55rem; }
  .product-grid--home { grid-template-columns:1fr; }
  .product-grid--page { grid-template-columns:1fr 1fr; }
  .hero-title__en { font-size:.9rem; }
}

@media (max-width:430px) {
  .product-grid--page { grid-template-columns:1fr; }
}

@media (max-width:720px) {
  .case-detail-meta { grid-template-columns:1fr; }
  .case-detail-meta > div { min-height:0; border-right:0; border-bottom:1px solid var(--line); }
  .case-detail-meta > div:last-child { border-bottom:0; }
  .case-detail-gallery-wrap { grid-template-columns:34px minmax(0,1fr) 34px; gap:6px; }
  .gallery-control { width:34px; height:34px; }
  .case-detail-gallery__slide img { aspect-ratio:1.2/1; }
  .detail-pagination { grid-template-columns:1fr 1fr; }
  .detail-pagination > .button { grid-column:1/-1; grid-row:2; }
  .detail-pagination__item--next { grid-column:2; }
  .product-detail-gallery { grid-template-columns:1fr 1fr; }
  .appointment-dialog__panel { padding:22px 18px; }
  .floating-consult { right:12px; bottom:12px; }
  .floating-consult__item { min-width:0; width:44px; padding:0; }
  .floating-consult__item span { display:none; }
  .floating-consult__panel { right:0; width:min(210px,calc(100vw - 24px)); }
}

@media (max-width:430px) {
  .product-detail-gallery { grid-template-columns:1fr; }
  .detail-pagination { gap:10px; }
  .detail-pagination__item strong { font-size:1rem; }
}

.home-video-section { border-top:1px solid var(--line); }
.home-video-layout { display:grid; grid-template-columns:.82fr 1.18fr; gap:56px; align-items:center; }
.home-video-copy { max-width:450px; }
.home-video-copy__content h2 { margin-bottom:14px; }
.home-video-copy__content h3 { margin:25px 0 10px; font-family:"Songti SC","STSong","Source Han Serif SC",serif; font-size:1.28rem; font-weight:500; line-height:1.45; }
.home-video-copy__content p { margin-top:14px; color:var(--muted); line-height:1.85; }
.home-video-copy__content p:first-child { margin-top:0; }
.home-video-copy__content strong { color:var(--ink); }
.home-video-copy__content em { color:var(--wood); }
.home-video-copy__content ul,.home-video-copy__content ol { margin:14px 0; padding-left:1.4em; color:var(--muted); line-height:1.85; }
.home-video-copy__content blockquote { margin:18px 0; padding:10px 16px; border-left:3px solid var(--wood); background:var(--paper); color:var(--ink); }
.home-video-copy__content img { display:block; width:auto; max-width:100%; height:auto; margin:18px auto; }
.video-intro-player { aspect-ratio:16/9; overflow:hidden; border:1px solid var(--line); background:#17130f; }
.video-intro-player video { display:block; width:100%; height:100%; object-fit:contain; background:#17130f; }
.article-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px 18px; }
.article-grid--page { gap:34px 18px; }
.article-card { display:flex; min-width:0; flex-direction:column; border:1px solid var(--line); background:var(--white); color:var(--ink); text-decoration:none; transition:transform .2s ease,box-shadow .2s ease; }
.article-card:hover,.article-card:focus-visible { transform:translateY(-3px); box-shadow:var(--shadow); }
.article-card__media { aspect-ratio:1.55/1; overflow:hidden; background:#e6dfd5; }
.article-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.article-card:hover .article-card__media img,.article-card:focus-visible .article-card__media img { transform:scale(1.025); }
.article-card__body { display:flex; min-height:205px; flex-direction:column; padding:18px; }
.article-card__meta { display:flex; gap:12px; color:var(--wood); font-size:.76rem; }
.article-card__meta span+span::before { content:"/"; margin-right:12px; color:var(--line); }
.article-card h3 { margin-top:13px; font-family:"Songti SC","STSong","Source Han Serif SC",serif; font-size:1.28rem; font-weight:500; line-height:1.45; }
.article-card p { display:-webkit-box; margin-top:10px; overflow:hidden; color:var(--muted); line-height:1.75; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.article-card__link { display:inline-flex; align-items:center; gap:7px; margin-top:auto; padding-top:16px; color:var(--wood); font-size:.86rem; font-weight:600; }
.article-card__link .icon { width:15px; height:15px; }
.article-detail { width:min(850px,100%); }
.page-hero--article { background:url("assets/hero-project.jpg") center/cover no-repeat; }
.page-hero--article::before { position:absolute; inset:0; content:""; background:rgba(33,28,23,.62); }
.page-hero--article .page-hero__inner { z-index:1; }
.article-detail__info { display:flex; gap:16px; padding-bottom:18px; border-bottom:1px solid var(--line); color:var(--muted); font-size:.86rem; }
.article-detail__info span+span::before { content:"/"; margin-right:16px; color:var(--wood); }
.article-detail__cover { width:100%; max-height:560px; margin-top:30px; object-fit:cover; background:#e6dfd5; }
.article-detail__content { max-width:760px; margin:38px auto 0; color:var(--muted); font-size:1.04rem; line-height:2; }
.article-detail__content p { margin-top:18px; }
.article-detail__content p:first-child { margin-top:0; }
.article-detail__content h3 { margin:34px 0 0; color:var(--ink); font-family:"Songti SC","STSong","Source Han Serif SC",serif; font-size:1.5rem; font-weight:500; line-height:1.45; }
.article-detail__content strong { color:var(--ink); }
.article-detail__content em { color:var(--wood); }
.article-detail__content ul,.article-detail__content ol { margin:18px 0; padding-left:1.5em; }
.article-detail__content li+li { margin-top:8px; }
.article-detail__content blockquote { margin:26px 0; padding:17px 22px; border-left:3px solid var(--wood); background:var(--paper); color:var(--ink); font-family:"Songti SC","STSong","Source Han Serif SC",serif; }
.article-detail__content img,.detail-copy > div img { display:block; width:auto; max-width:100%; height:auto; margin:25px auto; }
.article-detail__content a,.detail-copy > div a { color:var(--wood); }
.detail-copy > div ul,.detail-copy > div ol { margin:14px 0; padding-left:1.5em; }
.detail-copy > div blockquote { margin:18px 0; padding:12px 18px; border-left:3px solid var(--wood); background:var(--paper); color:var(--ink); }
@media (max-width:1000px) { .home-video-layout { gap:34px; } }
@media (max-width:720px) { .home-video-layout { grid-template-columns:1fr; gap:28px; } .home-video-copy { max-width:none; } .article-grid { grid-template-columns:1fr; } .article-card__body { min-height:0; } .article-detail__content { font-size:1rem; } }
