@charset "UTF-8";
/* style-media-20261017.css */
/* Mobile fallback: keep the original page navigation reachable without JavaScript. */
@media (max-width:1000px){
  .site-head:not(.tj-mobile-nav-ready){height:auto;min-height:78px;flex-wrap:wrap;gap:0 18px;padding-top:8px;padding-bottom:0}
  .site-head:not(.tj-mobile-nav-ready)>nav{display:flex;order:10;flex:0 0 100%;width:100%;min-width:0;min-height:44px;align-items:center;gap:22px;margin:4px 0 0;overflow-x:auto;overflow-y:hidden;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#cf9a52 transparent}
  .site-head:not(.tj-mobile-nav-ready)>nav a{flex:0 0 auto;display:inline-flex;min-height:44px;align-items:center;font-size:13px}
  .site-head:not(.tj-mobile-nav-ready) .head-call{margin-left:auto}
  html{scroll-padding-top:120px}
}
@media (max-width:650px){
  .site-head:not(.tj-mobile-nav-ready){min-height:70px;padding:8px 14px 0;gap:0 10px}
  .site-head:not(.tj-mobile-nav-ready) .brand{min-width:0}
  .site-head:not(.tj-mobile-nav-ready) .brand span{display:none}
  .site-head:not(.tj-mobile-nav-ready) .head-call{padding-left:10px}
  .site-head:not(.tj-mobile-nav-ready) .head-call b{font-size:11px;white-space:nowrap}
}

/* Enhanced navigation appears where the matching script is included. */
.tj-mobile-menu-toggle,
.tj-mobile-quick-nav{display:none}
.site-head .tj-mobile-menu-panel{display:none}
.site-head .tj-mobile-menu-panel[hidden]{display:none!important}

@media (max-width:1000px){
  .site-head.tj-mobile-nav-ready{gap:10px}
  .site-head.tj-mobile-nav-ready > nav:not(.tj-mobile-menu-panel){display:none}
  .site-head.tj-mobile-nav-ready .home-return{display:none}
  .site-head .tj-mobile-menu-toggle{
    appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:9px;
    flex:0 0 auto;min-width:72px;min-height:44px;margin-left:auto;padding:0 12px;
    border:1px solid #e6b58480;border-radius:4px;background:transparent;
    color:#f6ecd8;font:600 13px/1 "PingFang SC","Microsoft YaHei",sans-serif;
  }
  .tj-mobile-menu-toggle[aria-expanded="true"]{background:#e6b584;color:#17251f}
  .tj-mobile-menu-icon{display:grid;gap:4px;width:16px}
  .tj-mobile-menu-icon::before,.tj-mobile-menu-icon::after,.tj-mobile-menu-icon span{
    content:"";display:block;width:16px;height:1.5px;background:currentColor;border-radius:2px;
  }
  .site-head .tj-mobile-menu-panel:not([hidden]){
    display:block;position:fixed;inset:78px 0 auto;z-index:2;
    max-height:calc(100vh - 138px);max-height:calc(100dvh - 138px - env(safe-area-inset-bottom));
    margin:0;padding:22px max(22px,5.5vw) 28px;overflow-y:auto;
    background:#f3ecdc;color:#1f312b;box-shadow:0 18px 28px #101b16a6;
    border-bottom:1px solid #c7b89e;
  }
  .tj-mobile-menu-group + .tj-mobile-menu-group{margin-top:20px;padding-top:18px;border-top:1px solid #cbbba1}
  .tj-mobile-menu-heading{margin:0 0 10px;color:#8a6849;font:600 11px/1.5 "PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:2px}
  .tj-mobile-menu-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;list-style:none;margin:0;padding:0}
  .site-head .tj-mobile-menu-list a{
    display:flex;align-items:center;min-height:48px;padding:10px 14px;
    border:1px solid #d4c6af;text-decoration:none;background:#fffaf0;
    color:#20342d;font-size:14px;line-height:1.45;
  }
  .site-head .tj-mobile-menu-list a[aria-current="page"]{border-color:#9d673f;background:#ead7b8}
  .site-head .tj-mobile-menu-phone{
    display:inline-flex;align-items:center;min-height:44px;margin-top:18px;
    color:#7d4a29;font:600 13px/1.4 Georgia,"PingFang SC",sans-serif;text-decoration:underline;text-underline-offset:4px;
  }
  .tj-mobile-quick-nav{
    position:fixed;inset:auto 0 0;z-index:100;display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    min-height:60px;padding-bottom:env(safe-area-inset-bottom);
    background:#17251f;box-shadow:0 -5px 20px #101b1640;
    border-top:1px solid #e6b58455;
  }
  .tj-mobile-quick-nav a{
    display:flex;align-items:center;justify-content:center;min-height:60px;
    color:#f6ecd8;text-decoration:none;font:600 14px/1.2 "PingFang SC","Microsoft YaHei",sans-serif;
    letter-spacing:1px;
  }
  .tj-mobile-quick-nav a + a{border-left:1px solid #ffffff26}
  .tj-mobile-quick-nav a:last-child{background:#bb6737;color:#fffdf7}
  .tj-mobile-quick-nav a[aria-current="page"]{box-shadow:inset 0 3px #e6b584}
  body.tj-mobile-nav-active::after{content:"";display:block;height:calc(60px + env(safe-area-inset-bottom));background:#14211c}
  body.tj-mobile-menu-open #tianji-opening-close{visibility:hidden}
  body.tj-mobile-nav-active .tj-service-launcher{bottom:calc(74px + env(safe-area-inset-bottom))}
  body.tj-mobile-nav-active .tj-service-panel{bottom:calc(136px + env(safe-area-inset-bottom));height:min(570px,calc(100vh - 156px - env(safe-area-inset-bottom)))}
  body.tj-mobile-menu-open .site-head.tj-mobile-nav-ready{z-index:10000}
  body.tj-mobile-menu-open .tj-service-launcher,
  body.tj-mobile-menu-open .tj-service-panel,
  body.tj-mobile-menu-open .festival-blessing{visibility:hidden!important}
  html.tj-mobile-nav-active{scroll-padding-top:82px}
  .tj-mobile-menu-toggle:focus-visible,
  .tj-mobile-menu-panel a:focus-visible,
  .tj-mobile-quick-nav a:focus-visible{outline:3px solid #e7a764;outline-offset:-4px}
}

@media (max-width:650px){
  .site-head.tj-mobile-nav-ready .brand span,
  .site-head.tj-mobile-nav-ready .head-call{display:none}
  .site-head.tj-mobile-nav-ready .tj-mobile-menu-panel:not([hidden]){
    top:70px;max-height:calc(100vh - 130px);max-height:calc(100dvh - 130px - env(safe-area-inset-bottom));
    padding:20px 18px 26px;
  }
}

@media (max-width:360px){
  .tj-mobile-menu-list{grid-template-columns:1fr}
}

@media (prefers-reduced-motion:reduce){
  .tj-mobile-menu-toggle,.tj-mobile-menu-panel,.tj-mobile-quick-nav a{transition:none!important}
}

:root{--ink:#1f312b;--dark:#17251f;--paper:#f3ecdc;--paper2:#e8dcc6;--orange:#c86832;--gold:#cf9a52;--sage:#708675;--line:#b9aa90;--white:#fffdf7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:"PingFang SC","Microsoft YaHei",sans-serif}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.18;background-image:radial-gradient(#4b3c2d 0.55px,transparent .65px),radial-gradient(#fff 0.65px,transparent .75px);background-size:7px 7px,11px 11px;background-position:0 0,2px 3px;mix-blend-mode:multiply}a{color:inherit}.site-head{height:78px;padding:0 5.5vw;display:flex;align-items:center;gap:4vw;background:#17251ff2;color:#f6ecd8;position:fixed;inset:0 0 auto;z-index:10;border-bottom:1px solid #ffffff20;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand img{width:126px;filter:brightness(0) invert(1)}.brand span{font:10px Georgia;letter-spacing:3px;color:#d7b890}.site-head nav{display:flex;gap:2.2vw;margin-left:auto}.site-head nav a{text-decoration:none;font-size:12px;color:#d9d1c4}.site-head nav a:hover{color:white}.head-call{display:grid;text-decoration:none;border-left:1px solid #ffffff29;padding-left:25px}.head-call small{font-size:8px;color:#a79d90;letter-spacing:2px}.head-call b{font:17px Georgia;color:#e6b584;margin-top:4px}.hero{min-height:100vh;position:relative;overflow:hidden;background:#18271f;color:#fff;padding:150px 6vw 90px;display:grid;grid-template-columns:1.15fr .55fr;gap:10vw;align-items:center}.hero-paint{position:absolute;inset:0;background:linear-gradient(90deg,#17251fee 0%,#17251fbc 43%,#17251f24 76%),linear-gradient(180deg,transparent 70%,#17251f 100%),url("/assets/media-optimized-20261017/watercolor-air-desktop.jpg") 0 0/200% 200% no-repeat;filter:saturate(.8) contrast(1.04)}.hero-paint:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 67% 35%,transparent 0 23%,#17251f35 60%),linear-gradient(115deg,transparent 0 65%,#d2914020 65%);mix-blend-mode:screen}.hero-copy,.hero-aside,.scroll-note{position:relative}.eyebrow{font:11px Georgia;letter-spacing:3px;color:#ddaa73}.hero h1{font:500 clamp(55px,6.5vw,98px)/1.12 Georgia,"Songti SC",serif;margin:23px 0 28px;letter-spacing:-4px}.hero h1 em{font-style:normal;color:#f0c995;text-shadow:0 2px 18px #0005}.hero-copy>p{max-width:680px;font-size:14px;line-height:2;color:#d9d1c5}.hero-actions{display:flex;gap:12px;margin-top:38px}.brush{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 25px;text-decoration:none;font-weight:700;font-size:12px;position:relative;clip-path:polygon(2% 10%,97% 0,100% 88%,4% 100%,0 50%)}.brush.primary{background:var(--orange);color:white}.brush.ghost{background:#f6eadb;color:var(--ink)}.hero-aside{border-left:1px solid #ffffff35;padding-left:30px}.hero-aside>span{display:block;font:22px/1.6 Georgia,"Songti SC";color:#f1ddc0;margin-bottom:28px}.hero-aside>div{display:grid;grid-template-columns:45px 1fr;gap:12px;padding:14px 0;border-top:1px solid #ffffff1f}.hero-aside b{font:italic 16px Georgia;color:#d9985e}.hero-aside p{margin:0;font-size:11px}.hero-aside small{color:#958d81}.scroll-note{position:absolute;bottom:27px;left:6vw;font:8px Georgia;letter-spacing:2px;color:#978e82}.scroll-note i{display:inline-block;width:80px;height:1px;background:#d6935c;margin:0 0 2px 12px}.air-index{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;padding:30px 6vw;background:#f6f0e5;border-bottom:1px solid var(--line)}.air-index>div{display:grid;justify-items:center;gap:6px}.air-index b{font:20px Georgia,"Songti SC"}.air-index span{font-size:9px;color:#867a6d}.air-index>i{width:1px;background:#cfc1ab}.paper{background-color:var(--paper);background-image:linear-gradient(90deg,#fff4 1px,transparent 1px),linear-gradient(#fff3 1px,transparent 1px);background-size:70px 70px}.manifesto{position:relative;padding:120px 8vw;display:grid;grid-template-columns:.75fr 1.1fr;gap:10vw;overflow:hidden}.paint-number{position:absolute;left:-12px;top:25px;font:italic 210px/1 Georgia;color:#d3b98d2b}.manifesto h2,.section-head h2{font:500 clamp(42px,4.6vw,70px)/1.25 Georgia,"Songti SC";margin:16px 0}.eyebrow.ink{color:#9c613e}.manifesto-copy{padding-top:45px}.manifesto-copy>p{line-height:2;color:#756c60;max-width:650px}.manifesto blockquote{font:28px/1.6 Georgia,"Songti SC";border-left:4px solid var(--orange);margin:35px 0;padding:4px 0 4px 25px;color:#395447}.manifesto-copy>a{font-size:11px;color:#a6542d}.solutions{padding:110px 6vw;background:#20342d;color:#f4ead8}.section-head{display:grid;grid-template-columns:1.15fr .6fr;gap:8vw;align-items:end;margin-bottom:50px}.section-head>p{line-height:2;color:#968f83}.solutions .section-head>p{color:#aaa497}.solution-list{border-top:1px solid #ffffff2c}.solution{display:grid;grid-template-columns:70px 1.2fr .65fr 40px;gap:30px;align-items:center;padding:28px 10px;text-decoration:none;border-bottom:1px solid #ffffff22;transition:.35s}.solution>span{font:italic 15px Georgia;color:#ca8650}.solution h3{font:30px Georgia,"Songti SC";margin:0 0 8px}.solution p{color:#9faaa2;margin:0;font-size:11px;line-height:1.8}.solution em{font:9px Georgia;letter-spacing:2px;color:#8b968e}.solution>b{font-size:24px}.solution:hover,.solution.active{background:#f1e3cc;color:#21352e;transform:translateX(8px);padding-left:25px}.solution:hover p,.solution.active p{color:#716c62}.watercolor-window{min-height:720px;display:grid;grid-template-columns:1.35fr .65fr;background:#17251f}.watercolor-image{min-height:720px;background:var(--img,none) 100% 100%/200% 200% no-repeat;filter:saturate(.78) contrast(1.02)}.watercolor-caption{color:#f2e8d8;padding:80px 6vw;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 0 50%,#cf7a3820,transparent 52%)}.watercolor-caption>span{font:10px Georgia;letter-spacing:3px;color:#d99f6b}.watercolor-caption h2{font:48px/1.35 Georgia,"Songti SC";margin:22px 0}.watercolor-caption p{line-height:2;color:#a9a197}.cases{padding:110px 6vw}.case-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:1fr 1fr;gap:12px}.case{min-height:340px;background:#ddd0bb;text-decoration:none;position:relative;overflow:hidden;display:flex;align-items:flex-end}.case.wide{grid-row:1/3;min-height:690px}.case figure{position:absolute;inset:0;margin:0;background-image:linear-gradient(180deg,transparent 30%,#18251fcc 100%),var(--img);background-size:cover;background-position:center;filter:saturate(.72) contrast(1.03)}.case figure:after{content:"";position:absolute;inset:0;background:linear-gradient(125deg,#e6b57722,#36533d1f);mix-blend-mode:color}.case>div{position:relative;color:white;padding:30px;width:100%}.case small{color:#e0b384}.case h3{font:29px Georgia,"Songti SC";margin:8px 0}.case p{font-size:10px;line-height:1.8;color:#d2cbc1;max-width:420px}.case span{font-size:9px;border-bottom:1px solid #ffffff70;padding-bottom:4px}.case:hover figure{transform:scale(1.035);transition:.7s}.more-link{display:flex;justify-content:space-between;border:1px solid var(--line);padding:20px;margin-top:14px;text-decoration:none;color:#9e5a36}.process{padding:110px 6vw;background:#d8c6aa}.process ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #83745e}.process li{padding:25px 22px 35px;border-right:1px solid #9c8c74}.process li:last-child{border-right:0}.process li>span{font:italic 15px Georgia;color:#aa572f}.process li>b{display:block;font:18px Georgia,"Songti SC";margin:32px 0 12px}.process li>p{font-size:9px;line-height:1.8;color:#736a5e}.news{padding:110px 6vw}.news .section-head>a{justify-self:end;color:#9e5b35}.news-list{border-top:1px solid var(--line)}.news-list>a{display:grid;grid-template-columns:130px 1.2fr 1fr 30px;gap:25px;align-items:center;padding:25px 5px;border-bottom:1px solid var(--line);text-decoration:none}.news-list time{font:12px Georgia;color:#aa613c}.news-list h3{font:21px Georgia,"Songti SC"}.news-list p{font-size:10px;color:#80766a}.closing{padding:100px 8vw;background:#1e312a;color:#f4ead9;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.closing>div>span{font:10px Georgia;letter-spacing:4px;color:#d69a62}.closing h2{font:58px/1.25 Georgia,"Songti SC";margin:18px 0}.closing p{color:#aaa197}.closing-contact{display:grid;grid-template-columns:1fr 1fr;gap:12px}.closing-contact>a{border-top:1px solid #ffffff35;padding:18px 0;text-decoration:none;font:24px Georgia}.closing-contact small{display:block;font:8px sans-serif;color:#968e83;margin-top:7px}.closing-contact .brush{grid-column:1/3;border:0;padding:0 28px;justify-self:start;font:700 12px sans-serif}footer{padding:45px 6vw;background:#14211c;color:#948d82;display:grid;grid-template-columns:auto 1fr auto;gap:40px;align-items:center;border-top:1px solid #ffffff12}footer p{font-size:9px}footer>div{display:flex;gap:18px}footer>div a{font-size:9px;text-decoration:none}footer>small{grid-column:1/4;font-size:8px;color:#655f57}.reveal{opacity:0;transform:translateY(26px);transition:.9s ease}.reveal.visible{opacity:1;transform:none}.reveal.delay{transition-delay:.18s}@media(max-width:1000px){.site-head nav{display:none}.hero{grid-template-columns:1fr}.hero-aside{max-width:420px}.section-head,.manifesto{grid-template-columns:1fr}.case-grid{grid-template-columns:1fr 1fr}.case.wide{grid-row:auto;grid-column:1/3;min-height:550px}.process ol{grid-template-columns:1fr 1fr}.process li{border-bottom:1px solid #9c8c74}.watercolor-window{grid-template-columns:1fr}.watercolor-image{min-height:520px}.closing{grid-template-columns:1fr}}@media(max-width:650px){.site-head{height:66px;padding:0 16px}.brand img{width:105px}.head-call b{font-size:13px}.head-call{padding-left:12px}.hero{padding:120px 22px 70px}.hero h1{font-size:50px;letter-spacing:-2px}.hero-actions{flex-direction:column;align-items:flex-start}.air-index{grid-template-columns:1fr 1fr;gap:16px;padding:22px}.air-index>i{display:none}.manifesto,.solutions,.cases,.process,.news{padding:75px 18px}.manifesto-copy{padding-top:0}.solution{grid-template-columns:40px 1fr 30px;gap:12px}.solution em{display:none}.solution h3{font-size:23px}.watercolor-image{min-height:330px}.watercolor-caption{padding:55px 22px}.watercolor-caption h2{font-size:38px}.case-grid{grid-template-columns:1fr}.case,.case.wide{grid-column:auto;min-height:420px}.process ol{grid-template-columns:1fr}.process li{border-right:0}.news-list>a{grid-template-columns:1fr}.news-list h3{margin:0}.closing{padding:70px 22px}.closing h2{font-size:43px}.closing-contact{grid-template-columns:1fr}.closing-contact .brush{grid-column:auto}footer{grid-template-columns:1fr;padding:35px 20px}footer>div{flex-wrap:wrap}footer>small{grid-column:auto}}
/* Official footer identity and engineering workflow refinements */
footer{grid-template-columns:1fr auto;gap:34px 40px}
.footer-company{display:flex;align-items:center;gap:28px}
.footer-company>div{display:grid;gap:5px}
.footer-company strong{font:17px Georgia,"Songti SC",serif;color:#e7d7bd;letter-spacing:.5px}
.footer-company p{font-size:9px;margin:0}
.footer-links{display:flex;gap:18px}
.footer-links a{font-size:9px;text-decoration:none}
footer>small{grid-column:1/3}
@media(max-width:650px){footer{grid-template-columns:1fr}.footer-company{align-items:flex-start;flex-direction:column;gap:15px}.footer-links{flex-wrap:wrap}footer>small{grid-column:auto}}
.site-head .brand img{width:174px}
@media(max-width:650px){.site-head .brand img{width:142px}}
.footer-company .brand{height:41px;flex:0 0 auto}
.footer-company .brand img{width:auto;height:100%;object-fit:contain}
@media(max-width:650px){.footer-company .brand{height:35px}.footer-company .brand img{width:auto;height:100%}}
/* Soften the white identity mark against the deep green background. */
.site-head .brand img,.footer-company .brand img{filter:brightness(0) saturate(100%) invert(88%) sepia(14%) saturate(430%) hue-rotate(347deg) brightness(98%) contrast(91%);opacity:.9}
.site-head .home-return{display:inline-flex;align-items:center;height:32px;margin:0;font-size:10px;line-height:1;white-space:nowrap}
/* Increase footer company and navigation copy for clearer reading. */
.footer-company strong{font-size:20px}
.footer-company p{font-size:11px;line-height:1.65}
.footer-links a,footer>div.footer-links a{font-size:11px;line-height:1.4}
/* Footer refinement: stronger utility links and centered legal record. */
.footer-links a,footer>div.footer-links a{font-size:13.2px}
footer>small{grid-column:1/3;justify-self:center;text-align:center;width:100%;margin-top:4px}
@media(max-width:650px){.footer-links a,footer>div.footer-links a{font-size:12px}footer>small{grid-column:auto;justify-self:center;text-align:center;margin-top:8px}}

/* Consistent feedback for every interactive element across the official site. */
a[href],button:not(:disabled),summary,[role="button"]{cursor:pointer;transition:color .24s ease,background-color .24s ease,border-color .24s ease,box-shadow .24s ease,filter .24s ease,transform .24s ease}
button:disabled{cursor:not-allowed}
a[href]:focus-visible,button:focus-visible,summary:focus-visible,[role="button"]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
@media(hover:hover){
  a[href]:hover:not(.brand){filter:brightness(1.1)}
  .brush:hover{transform:translateY(-3px);box-shadow:0 12px 28px #0d181344}
  .site-head nav a:hover,.home-return:hover,.head-call:hover{color:#fff;opacity:1}
  .footer-links a:hover,footer a:hover{color:#e7b47b;text-decoration-color:currentColor}
  button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 8px 20px #4a38251f}
  summary:hover{color:var(--orange)}
  input[type="range"]:hover{filter:saturate(1.2) brightness(1.05)}
}
@media(prefers-reduced-motion:reduce){a[href],button,summary,[role="button"]{transition:none!important}}

/* Six-stage whole-air project workflow. */
.process ol{grid-template-columns:repeat(3,minmax(0,1fr))}
.process li{padding:25px 18px 35px}
.process li:nth-child(3n){border-right:0}
.process li:nth-child(-n+3){border-bottom:1px solid #9c8c74}
.process li.air-entry{background:#ead7b8}
.process li.air-entry>b{color:#8f482b}
@media(max-width:1000px){.process ol{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.process ol{grid-template-columns:1fr}}

/* Nanchang project film: retain the current airscape as the resting image. */
.watercolor-window{min-height:600px;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr)}
.watercolor-image{min-height:600px}
.watercolor-media{position:relative;overflow:hidden;background-color:#17251f}
.watercolor-media video{position:absolute;left:50%;top:50%;width:84%;height:auto;max-height:80%;aspect-ratio:16/9;display:block;object-fit:contain;transform:translate(-50%,-50%);background:#101b17;box-shadow:0 20px 52px #07100c66;opacity:0;pointer-events:none;transition:opacity .38s ease}
.watercolor-media.is-playing video{opacity:1;pointer-events:auto}
.watercolor-play{position:absolute;left:50%;top:50%;z-index:2;display:grid;justify-items:center;gap:10px;transform:translate(-50%,-50%);border:0;background:transparent;color:#fffdf7;text-shadow:0 2px 16px #000;box-shadow:none!important}
.watercolor-play i{display:grid;place-items:center;width:68px;height:68px;border:1px solid #fff9;border-radius:50%;background:#17251fbf;font-style:normal;font-size:20px;padding-left:4px;backdrop-filter:blur(8px)}
.watercolor-play span{font-size:10px;letter-spacing:2px}
.watercolor-media.is-playing .watercolor-play{opacity:0;visibility:hidden;pointer-events:none}
@media(hover:hover){.watercolor-play:hover{transform:translate(-50%,-50%) scale(1.04);box-shadow:none}}
@media(max-width:1000px){.watercolor-window{grid-template-columns:1fr;min-height:0}.watercolor-image{min-height:520px}.watercolor-caption{min-height:420px}.watercolor-media video{width:84%;max-height:84%}}
@media(max-width:650px){.watercolor-image{min-height:360px}.watercolor-caption{min-height:0}.watercolor-media video{width:90%;max-height:86%}.watercolor-play i{width:58px;height:58px}}

@media(max-width:760px){.hero-paint{background-image:linear-gradient(90deg,#17251fee 0%,#17251fbc 43%,#17251f24 76%),linear-gradient(180deg,transparent 70%,#17251f 100%),url("/assets/media-optimized-20261017/watercolor-air-mobile.jpg")}}

/* service-media-20261017.css */
.service-proof {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  min-height: 560px;
  background: #17251f;
  color: #f3eadb;
}

/* “看见空间”只展示住宅空间：采用窗边细线型下送风口画面，避免设备展厅感。 */
.watercolor-image {
  background-image: var(--img, none);
  background-size: cover;
  background-position: center;
}

.solution-slogan {
  font: 22px/1.8 Georgia, "Songti SC";
  color: #e7d6bc !important;
}

/* 首屏信息卡需在明亮落地窗背景上保持清晰可读。 */
.hero-aside {
  padding: 28px 30px;
  border: 1px solid #ffffff38;
  border-left: 3px solid #d89861;
  background: linear-gradient(135deg, #13231dda, #1d3027b8);
  box-shadow: 0 20px 55px #07110d66;
  backdrop-filter: blur(8px);
  text-shadow: 0 2px 8px #0008;
}

.hero-aside > span { color: #fff5e6; }
.hero-aside p { color: #fffaf1; }
.hero-aside small { color: #d6cec0; }

.case-proof {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: -12px 0 42px;
  border-top: 1px solid #b9aa90;
  border-bottom: 1px solid #b9aa90;
}

.case-proof > a {
  display: flex;
  align-items: baseline;
  gap: 14px;
  padding: 24px 26px;
  border-right: 1px solid #b9aa90;
  color: inherit;
  text-decoration: none;
  transition: background .3s, transform .3s;
}

.case-proof > a:last-child { border-right: 0; }
.case-proof > a:hover { background: #eadac0; transform: translateY(-3px); }
.case-proof strong { font: italic 42px Georgia; color: #a9532e; }
.case-proof sup { font: 14px "PingFang SC", sans-serif; }
.case-proof span { font-size: 11px; color: #6f675d; }
.case-proof i { margin-left: auto; font: normal 9px "PingFang SC", sans-serif; color: #a9532e; white-space: nowrap; }
.case-slogan { font: 20px/1.8 Georgia, "Songti SC"; color: #6c6255 !important; }

/* 九龙湖主图完整显示全景，右下角留作全部案例入口。 */
.case-grid {
  grid-template-columns: 1.25fr .75fr .75fr;
  grid-template-rows: 1fr 1fr;
}

.case.wide {
  grid-column: auto;
  grid-row: 1 / 3;
  min-height: 690px;
}

.case.wide figure {
  background-size: 100% 100%, contain;
  background-position: center, center;
  background-repeat: no-repeat;
  background-color: #1e312a;
}

.case-more {
  position: relative;
  grid-column: 3;
  grid-row: 2;
  min-height: 340px;
  padding: 34px;
  background: #1e312a;
  color: #f5ead8;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: transform .35s, background .35s;
}

.case-more:hover { transform: translateY(-5px); background: #29443a; }
.case-more small { font: 9px Georgia; letter-spacing: 2px; color: #d99f6b; }
.case-more strong { font: 30px/1.45 Georgia, "Songti SC"; font-weight: 500; }
.case-more span { font-size: 10px; line-height: 1.8; color: #aaa197; }
.case-more-cue {
  position: absolute;
  top: 50%;
  right: 34px;
  width: 54px;
  height: 54px;
  border: 1px solid #d99f6b;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #f5ead8;
  font: normal 28px/1 Georgia, serif;
  transform: translateY(-50%);
  transition: transform .3s ease, color .3s ease, background .3s ease;
  animation: caseMoreCue 2.2s ease-in-out infinite;
}
.case-more:hover .case-more-cue {
  color: #1e312a;
  background: #e3b276;
  transform: translate(4px, calc(-50% - 4px));
  animation: none;
}
@keyframes caseMoreCue {
  0%, 100% { box-shadow: 0 0 0 0 rgba(217,159,107,.35); }
  50% { box-shadow: 0 0 0 10px rgba(217,159,107,0); }
}
@media (prefers-reduced-motion: reduce) {
  .case-more-cue { animation: none; }
}

.service-photo {
  position: relative;
  min-height: 560px;
  overflow: hidden;
  background: #0c1713;
}

.service-photo img,
.service-photo video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  filter: saturate(.82) contrast(1.04);
}

.service-photo video {
  position: absolute;
  inset: 0;
}

.service-sound {
  position: absolute;
  right: 24px;
  bottom: 22px;
  z-index: 2;
  padding: 11px 16px;
  border: 1px solid rgba(243,234,219,.62);
  border-radius: 999px;
  color: #f3eadb;
  background: rgba(12,23,19,.72);
  font: 600 13px/1.2 system-ui, sans-serif;
  letter-spacing: .04em;
  cursor: pointer;
  backdrop-filter: blur(8px);
  transition: color .25s ease, background .25s ease, border-color .25s ease, transform .25s ease;
}

.service-sound:hover,
.service-sound:focus-visible {
  color: #10231c;
  background: #e3b276;
  border-color: #e3b276;
  transform: translateY(-2px);
}

.service-copy {
  padding: 80px 6vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: radial-gradient(circle at 0 50%, #c8683224, transparent 55%);
}

.service-copy > span {
  font: 10px Georgia;
  letter-spacing: 3px;
  color: #d99f6b;
}

.service-copy h2 {
  font: 48px/1.35 Georgia, "Songti SC";
  margin: 22px 0;
}

.service-copy p {
  line-height: 2;
  color: #aaa197;
}

.service-copy > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-top: 28px;
  border-top: 1px solid #ffffff2c;
}

.service-copy b {
  padding: 18px 0;
  border-bottom: 1px solid #ffffff22;
  font-size: 11px;
  color: #d9cdbb;
}

@media (max-width: 1000px) {
  .service-proof { grid-template-columns: 1fr; }
  .service-photo { min-height: 0; aspect-ratio: 16 / 9; }
  .case-grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .case.wide { grid-column: 1 / 3; grid-row: auto; min-height: 550px; }
  .case-more { grid-column: auto; grid-row: auto; }
}

@media (max-width: 650px) {
  .case-proof { grid-template-columns: 1fr; }
  .case-proof > a { border-right: 0; border-bottom: 1px solid #b9aa90; }
  .case-proof > a:last-child { border-bottom: 0; }
  .case-grid { grid-template-columns: 1fr; grid-template-rows: auto; }
  .case.wide { grid-column: auto; grid-row: auto; min-height: 520px; }
  .case-more { grid-column: auto; grid-row: auto; min-height: 280px; }
  .case-more-cue { right: 24px; width: 48px; height: 48px; font-size: 24px; }
  .service-photo { min-height: 0; aspect-ratio: 16 / 9; }
  .service-sound { right: 14px; bottom: 14px; padding: 9px 13px; }
  .service-copy { padding: 55px 22px; }
  .service-copy h2 { font-size: 38px; }
}

/* wechat-fixes.css */
.wechat-share-cover {
  position: absolute;
  left: -10000px;
  top: 0;
  width: 500px;
  height: 500px;
  object-fit: cover;
}

.brand img {
  width: 144px;
}

@media (max-width: 650px) {
  .site-head {
    height: 70px;
    padding: 0 14px;
    gap: 10px;
  }

  .brand {
    gap: 7px;
  }

  .brand img {
    width: 132px;
  }

  .brand span {
    font-size: 9px;
    letter-spacing: 2px;
    white-space: nowrap;
  }

  .head-call {
    margin-left: auto;
    padding-left: 10px;
  }

  .head-call small {
    font-size: 7px;
  }

  .head-call b {
    font-size: 12px;
    white-space: nowrap;
  }

  .hero {
    min-height: auto;
    padding: 118px 22px 78px;
  }

  .hero-paint {
    background-size: cover;
    background-position: 62% center;
    transform: none !important;
  }
}

@media (max-width: 390px) {
  .brand img {
    width: 118px;
  }

  .brand span {
    font-size: 8px;
  }

  .head-call b {
    font-size: 11px;
  }
}

/* festival.css */
.festival-blessing{position:fixed;right:24px;bottom:24px;width:min(560px,calc(100vw - 48px));height:240px;z-index:30;overflow:hidden;color:#fff5df;background:linear-gradient(135deg,rgba(20,38,30,.5),rgba(27,52,39,.5));border:1px solid #e8bd7857;box-shadow:0 22px 70px #08120dcc;backdrop-filter:blur(18px) saturate(.9);-webkit-backdrop-filter:blur(18px) saturate(.9);animation:festival-in .9s cubic-bezier(.22,.8,.25,1) both,festival-drift 16s 1s ease-in-out infinite}
.festival-blessing[hidden]{display:none}
.festival-blessing:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 25%,rgba(23,37,31,.3) 58%,rgba(23,37,31,.5) 100%);pointer-events:none}
.festival-blessing>img{position:absolute;inset:0;width:100%;height:100%;padding:7px;box-sizing:border-box;object-fit:contain;object-position:left center;opacity:.96}
.festival-blessing>div{position:absolute;z-index:2;right:28px;top:50%;width:56%;transform:translateY(-50%);text-align:right;text-shadow:0 2px 18px #0008}
.festival-blessing small{display:block;font:8px Georgia;letter-spacing:2.6px;color:#edbf7d;margin-bottom:13px}
.festival-blessing strong{display:block;font:500 35px/1.22 Georgia,"Songti SC",serif;letter-spacing:2px}
.festival-blessing p{margin:13px 0 0;font-size:10px;letter-spacing:1px;color:#d9cdbb}
.festival-blessing button{position:absolute;right:8px;top:7px;z-index:3;width:27px;height:27px;border:0;border-radius:50%;background:#ffffff14;color:#e9d7ba;cursor:pointer;font-size:18px;line-height:1}
.festival-blessing button:hover{background:#ffffff29;color:#fff}
.festival-blessing.is-closed{animation:none;opacity:0;transform:translateY(18px);pointer-events:none;transition:.35s ease}
@keyframes festival-in{from{opacity:0;transform:translateY(30px) scale(.98)}to{opacity:1;transform:none}}
@keyframes festival-drift{0%,100%{right:24px;bottom:24px}25%{right:44px;bottom:44px}50%{right:25px;bottom:68px}75%{right:8px;bottom:43px}}
@keyframes festival-drift-mobile{0%,100%{right:12px;bottom:12px}25%{right:18px;bottom:23px}50%{right:12px;bottom:32px}75%{right:6px;bottom:21px}}
@media(max-width:650px){.festival-blessing{right:12px;bottom:12px;width:calc(100vw - 24px);height:174px;animation:festival-in .9s cubic-bezier(.22,.8,.25,1) both,festival-drift-mobile 14s 1s ease-in-out infinite}.festival-blessing>img{padding:5px}.festival-blessing>div{right:20px;width:61%}.festival-blessing small{font-size:6px;letter-spacing:1.7px}.festival-blessing strong{font-size:27px}.festival-blessing p{font-size:8px;line-height:1.6;margin-top:8px}}
@media(prefers-reduced-motion:reduce){.festival-blessing{animation:none}}

/* service-areas.css */
.contact-grid .service-cities {
  margin: 26px 0 0;
  padding-top: 22px;
  border-top: 1px solid rgba(24, 48, 40, .18);
  font-size: 15px;
  line-height: 2;
}

.contact-grid .service-cities,
.closing-contact .service-cities {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: start;
  column-gap: 18px;
}

.contact-grid .service-cities strong,
.closing-contact .service-cities strong {
  display: block;
  color: #d0824c;
  letter-spacing: .16em;
  margin: 0;
}

.closing-contact .service-cities {
  grid-column: 1 / 3;
  margin: 8px 0 12px;
  padding: 16px 0;
  border-top: 1px solid rgba(255, 255, 255, .13);
  border-bottom: 1px solid rgba(255, 255, 255, .13);
  color: #aaa197;
  font-size: 11px;
  line-height: 2;
}

@media (max-width: 650px) {
  .closing-contact .service-cities { grid-column: auto; }
  .contact-grid .service-cities,
  .closing-contact .service-cities { column-gap: 10px; }
}

/* tianji-home-opening-20260925-close.css */
.hero h1 {
  font-size: clamp(44px, 4.9vw, 84px);
  letter-spacing: -.04em;
  transform-origin: left center;
}

.hero h1 em { white-space: nowrap; }
.hero .hero-copy, .hero .hero-aside { position: relative; z-index: 4; }

.hero h1.tianji-opening-original {
  opacity: 1;
  transition: opacity .22s ease-out;
}

.hero .tianji-opening-compact {
  position: absolute;
  margin: 0;
  opacity: 0;
  pointer-events: none;
  color: inherit;
  font: 500 clamp(30px, 3.15vw, 42px)/1.18 Georgia, "Songti SC", serif;
  letter-spacing: -.035em;
  transform-origin: left center;
  transition: opacity .32s ease;
}

.hero .tianji-opening-compact em {
  font-style: normal;
  color: #f0c995;
  text-shadow: 0 2px 18px #0005;
}

.hero .tianji-opening-compact .headline-tail {
  display: block;
  white-space: nowrap;
}

.hero-copy.tianji-opening-compact-active h1.tianji-opening-original { opacity: 0; }
.hero-copy.tianji-opening-compact-active .tianji-opening-compact {
  opacity: 1;
  transition: opacity .32s ease .18s;
  animation: tianji-opening-settle 1.15s both;
}
.hero-copy.tianji-opening-returning .tianji-opening-compact {
  opacity: 0;
  transition: opacity .28s ease;
}
.hero-copy.tianji-opening-returning h1.tianji-opening-original { opacity: 0; }
.hero-copy.tianji-opening-restoring h1.tianji-opening-original {
  opacity: 1;
  transition: opacity .48s cubic-bezier(.22, 1, .36, 1);
}

.hero h1.tianji-opening-original.tianji-opening-pushed {
  animation: tianji-opening-spring 1.5s both;
}

@keyframes tianji-opening-spring {
  0% { transform: translateX(0) rotate(0); }
  28% { transform: translateX(min(3vw, 38px)) rotate(.85deg); }
  42% { transform: translateX(min(3.3vw, 42px)) rotate(1deg); }
  68% { transform: translateX(-7px) rotate(-.2deg); }
  83% { transform: translateX(3px) rotate(.08deg); }
  93% { transform: translateX(-1px) rotate(0); }
  100% { transform: translateX(0) rotate(0); }
}

@keyframes tianji-opening-settle {
  0% { transform: translateX(min(3vw, 38px)) rotate(.8deg); }
  54% { transform: translateX(-6px) rotate(-.15deg); }
  76% { transform: translateX(2px) rotate(.06deg); }
  100% { transform: translateX(0) rotate(0); }
}

.hero #tianji-opening-canvas {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 70%;
  height: auto;
  aspect-ratio: 16 / 9;
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: 3;
}

@media (max-width: 650px) {
  .hero h1 { font-size: 8vw; letter-spacing: -.02em; }
  .hero .tianji-opening-compact { font-size: clamp(25px, 6.5vw, 34px); }
  .hero #tianji-opening-canvas { width: 115%; top: 35%; }
}

@media (prefers-reduced-motion: reduce) {
  .hero #tianji-opening-canvas { display: none; }
}


/* The existing homepage moves below a fixed, non-interactive character layer. */
#tianji-opening-canvas {
  position: fixed;
  left: 50%;
  top: 54%;
  width: min(70vw, 1040px);
  height: auto;
  aspect-ratio: 16 / 9;
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: 3;
  will-change: opacity;
}

#tianji-opening-close {
  position: fixed;
  top: 102px;
  right: clamp(16px, 4vw, 64px);
  z-index: 12;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 44px;
  padding: 0 15px 0 11px;
  border: 1px solid rgba(255, 255, 255, .56);
  border-radius: 999px;
  background: rgba(23, 37, 31, .82);
  color: #fff;
  font: 500 14px/1 sans-serif;
  cursor: pointer;
  box-shadow: 0 4px 18px rgba(0, 0, 0, .18);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
#tianji-opening-close:hover { background: #17251f; }
#tianji-opening-close:focus-visible {
  outline: 3px solid #c6ec50;
  outline-offset: 3px;
}
.tianji-opening-close-icon { font-size: 26px; font-weight: 300; line-height: .7; }

.hero h1,
.hero .tianji-opening-compact,
.manifesto h2,
.section-head h2,
.watercolor-caption h2,
.closing h2 {
  scale: var(--tianji-avoid-scale, 1);
  transform-origin: left top;
  transition: scale .42s cubic-bezier(.22, 1, .36, 1);
}

/* When there is too little room to shrink legibly, the letters pass in front
   of the figures instead of disappearing beneath them. */
.tianji-heading-front {
  position: relative;
  z-index: 9;
  text-shadow: 0 1px 8px #f3ecdc, 0 0 15px #f3ecdc;
}
.hero .hero-copy.tianji-copy-front { z-index: 9; }
.tianji-heading-shell-front { position: relative; z-index: 9; }
.hero .tianji-heading-front,
.solutions .tianji-heading-front,
.watercolor-window .tianji-heading-front,
.closing .tianji-heading-front {
  text-shadow: 0 2px 10px #17251f, 0 0 18px #17251f;
}

@media (min-width: 651px) {
  .hero-copy > p { max-width: 360px; }
  .festival-blessing {
    width: min(360px, calc(100vw - 48px));
    height: 160px;
  }
}

@media (max-width: 650px) {
  #tianji-opening-close {
    top: 76px;
    right: 12px;
    min-width: 44px;
    padding: 0;
    justify-content: center;
  }
  .tianji-opening-close-label { display: none; }
  #tianji-opening-canvas {
    width: 100vw;
    max-width: none;
    left: 50%;
    top: 51%;
  }
}

@media (prefers-reduced-motion: reduce) {
  #tianji-opening-canvas { display: none; }
}

/* Official Tianji + CHANGE lockup, 2026-10-30. Transparent artwork, native ratio. */
.site-head>.brand{min-width:0}
.site-head>.brand>span{display:none}
.site-head .brand img{width:clamp(200px,21vw,280px);height:auto;object-fit:contain}
.footer-company{flex-wrap:wrap}
.footer-company .brand{height:auto;max-width:100%}
.footer-company .brand img{width:260px;height:auto;max-width:100%;object-fit:contain}
@media(max-width:650px){.site-head .brand img{width:clamp(168px,48vw,210px);height:auto}.footer-company .brand img{width:230px;height:auto}}
