:root{--paper:#fafaf7;--ink:#252b27;--muted:#646b65;--orange:#d8481c;--line:#dedfd7;--green:#eaf0e5;--font:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:6px}::selection{background:#ffd6bb}p{line-height:1.9}h1,h2,h3,p{margin-top:0}h2{font-size:clamp(30px,3.2vw,46px);letter-spacing:-1.6px;line-height:1.45;font-weight:600;margin-bottom:0}.wrap{width:min(1240px,calc(100% - 112px));margin-inline:auto}.skip-link{position:absolute;top:-70px;left:20px;background:white;padding:15px;z-index:30}.skip-link:focus{top:10px}.header{min-height:100px;display:flex;align-items:center;justify-content:space-between;padding:20px 56px;max-width:1536px;margin:auto;gap:30px}.brand{display:flex;gap:11px;align-items:center;font-weight:700;font-size:25px;letter-spacing:1px}.brand-sub{display:block;font-size:10px;font-weight:400;letter-spacing:1px;margin-top:4px;color:var(--muted)}nav{display:flex;gap:36px;align-items:center;font-size:14px}nav a:hover,.text-link:hover{color:var(--orange)}.nav-contact{border:1px solid var(--line);border-radius:5px;padding:12px 17px}.nav-contact span{padding-left:18px}.menu-toggle{display:none}.hero{padding-top:42px;display:grid;grid-template-columns:1fr 1fr;column-gap:38px;align-items:center}.intro{font-size:13px;display:flex;align-items:center;gap:9px;margin-bottom:29px;color:var(--muted)}.intro span{width:7px;height:7px;background:var(--orange);border-radius:50%}h1{font-size:clamp(42px,4.7vw,70px);line-height:1.3;letter-spacing:-3px;font-weight:600;margin-bottom:28px}.period{color:var(--orange)}.hero-description{font-size:15px;color:var(--muted);line-height:2;margin-bottom:33px}.hero-actions{display:flex;align-items:center;gap:27px}.button{padding:16px 22px;border-radius:4px;font-size:14px;display:inline-flex;gap:25px;align-items:center}.primary{background:var(--orange);color:white}.primary:hover{background:#b83b15}.text-link{font-size:14px;display:inline-flex;gap:20px;align-items:center}.hero-art svg{display:block;width:100%;height:auto}.art-caption{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);padding-top:13px;gap:10px}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);margin-top:56px;padding-bottom:26px;color:var(--muted);font-size:12px}.hero-bottom a span{margin-left:20px}.section{padding-top:104px;padding-bottom:100px}.kicker{color:var(--orange);font-size:13px;margin-bottom:20px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:44px}.section-heading>p{color:var(--muted);font-size:14px;margin-bottom:6px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.service-grid article{border-top:1px solid var(--line);padding-top:27px}.service-icon{display:inline-flex;color:var(--orange);font-family:Arial,sans-serif;font-size:34px;height:63px;align-items:flex-start}.service-grid h3{font-size:22px;font-weight:500;margin-bottom:16px}.service-grid p{font-size:14px;color:var(--muted);max-width:250px;margin-bottom:24px}.tags{display:flex;gap:8px}.tags span{font-size:11px;color:#586252;background:#eef0e9;padding:6px 10px;border-radius:3px}.services{padding-bottom:80px}.cases{padding-top:30px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.filters button{border:1px solid transparent;border-radius:30px;background:transparent;color:var(--muted);font-size:13px;padding:10px 20px}.filters button[aria-pressed=true]{background:var(--ink);color:#fff}.filters button:hover{border-color:#a3aa9d}.case-status{font-size:12px;color:var(--muted);margin-bottom:24px}.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 32px}.case-visual{aspect-ratio:1.55;overflow:hidden;border-radius:5px;position:relative;background:#eae9df}.case-visual img{width:100%;height:100%;object-fit:cover}.case-meta{display:flex;justify-content:space-between;gap:15px;margin-top:19px;align-items:baseline}.case-meta h3{font-size:18px;font-weight:500;margin:0}.case-meta p{font-size:11px;color:var(--muted);margin:0}.concept>span{position:absolute;left:30px;top:28px;font-size:23px;color:#3c493d;font-weight:500}.scene{position:absolute;width:66%;height:65%;bottom:0;right:8%;perspective:600px}.scene i{position:absolute;display:block;background:#b5c3a8}.scene i:nth-child(1){width:69%;height:75%;bottom:16%;left:10%;transform:skewY(-8deg);background:#f8faf0;box-shadow:12px 8px 0 #afbea1}.scene i:nth-child(2){width:100%;height:22%;bottom:0;transform:skewX(-25deg);background:#a9b99a}.scene i:nth-child(3){width:18%;height:46%;bottom:8%;right:3%;background:#c1d0b2;transform:skewY(-8deg);box-shadow:9px 4px 0 #8b9e7d}.scene i:nth-child(4){width:27%;height:6%;bottom:50%;left:24%;background:#ee7040;transform:skewY(-8deg)}.theme-2{background:#e3e6ed}.theme-2 .scene i:nth-child(1){background:#4e5c7c;box-shadow:12px 8px 0 #333f5c;border-radius:80px 80px 0 0}.theme-2 .scene i:nth-child(2){background:#a8b2c8}.theme-2 .scene i:nth-child(3){background:#c4ccdc;box-shadow:9px 4px 0 #97a4be}.theme-2 .scene i:nth-child(4){background:#f5c27d}.theme-3{background:#f3e5d8}.theme-3 .scene i:nth-child(1){background:#e99d72;box-shadow:12px 8px 0 #c88562}.theme-3 .scene i:nth-child(2){background:#d8b290}.theme-3 .scene i:nth-child(3){background:#f6ddc3;box-shadow:9px 4px 0 #c19a77}.theme-3 .scene i:nth-child(4){background:#fff2dc}.theme-4{background:#e5ebea}.theme-4 .scene i:nth-child(1){background:#c0d6d1;box-shadow:12px 8px 0 #8eaea5}.theme-4 .scene i:nth-child(2){background:#9dbbb3}.theme-4 .scene i:nth-child(3){background:#e4f0e8;box-shadow:9px 4px 0 #9abbb0}.about{background:var(--green)}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px}.about-sign{font-size:56px;font-weight:600;letter-spacing:-3px;margin-top:48px;color:#b7c5ae}.about-sign span{color:var(--orange);padding-left:10px}.about-copy{padding-top:42px}.about-copy h3{font-size:21px;font-weight:500}.about-copy p{font-size:15px;color:#56614f;margin-bottom:24px;line-height:2.1}.about-copy .text-link{margin-top:10px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;gap:28px;margin-bottom:0}.process-grid li{border-top:1px solid var(--line);padding-top:25px}.process-grid li>span{font-size:12px;color:var(--muted)}.process-grid h3{font-size:19px;font-weight:500;margin:23px 0 12px}.process-grid p{font-size:13px;color:var(--muted);max-width:230px}.contact{background:#f4dfcd;padding:78px 0}.contact-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center}.contact .kicker{color:#92421e}.contact h2{font-size:clamp(30px,3.5vw,50px)}.contact-details{padding-left:50px;border-left:1px solid #d6bba5}.contact-details>p{font-size:13px;color:#68513e;margin-bottom:22px}#contact-information{font-size:21px;line-height:1.8}#contact-information>a{display:block;overflow-wrap:anywhere}#contact-information p{font-size:15px}#contact-information figure{margin:16px 0}#contact-information figcaption{font-size:12px}.location{display:block;font-size:12px;color:#68513e;margin-top:25px}.footer{min-height:122px;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-brand{font-size:21px;font-weight:600}.footer-brand span{font-size:11px;font-weight:400;color:var(--muted);display:block;margin-top:6px}.footer p,.footer>a:last-child{font-size:11px;color:var(--muted);margin:0}
.integrated-services{margin-top:45px;padding-top:30px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:40px}.integrated-services h3{font-size:20px;font-weight:500;margin-bottom:12px}.integrated-services p{font-size:13px;color:var(--muted);margin-bottom:0;max-width:430px}.integrated-services ul{display:grid;grid-template-columns:1fr 1fr;align-content:center;gap:16px 24px;list-style:none;padding:0;margin:0;font-size:13px;color:var(--muted)}.integrated-services li{border-left:2px solid #d8b7a2;padding-left:12px}.company-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:54px;padding-top:32px;border-top:1px solid #ccd7c4}.company-principles h3,.team-grid h3{font-size:19px;font-weight:500;margin-bottom:13px}.company-principles p,.team-grid p{font-size:14px;color:#56614f;line-height:2;margin-bottom:0;max-width:330px}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.team-grid article{border-top:1px solid var(--line);padding-top:28px}.team-grid p{color:var(--muted)}.team{padding-bottom:0}#contact-information .contact-name{font-size:14px;margin:0 0 4px}#contact-information .contact-address{font-size:13px;line-height:1.9;margin:16px 0 0;max-width:350px}
.hero-carousel{position:relative;aspect-ratio:1.06;overflow:hidden;border-radius:6px;background:#e7e6df}.hero-slides,.hero-slide{position:absolute;inset:0}.hero-slide{margin:0;opacity:0;visibility:hidden;transition:opacity .65s ease}.hero-slide.is-active{opacity:1;visibility:visible}.hero-slide img{display:block;width:100%;height:100%;object-fit:cover}.hero-slide::after{content:"";position:absolute;inset:auto 0 0;height:48%;background:linear-gradient(transparent,#172017b8)}.hero-slide figcaption{position:absolute;z-index:1;left:28px;right:28px;bottom:27px;color:white;display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.hero-slide figcaption span{font-size:11px}.hero-slide figcaption strong{font-size:18px;font-weight:500;text-align:right}.hero-carousel-controls{position:absolute;z-index:2;left:20px;right:20px;top:18px;display:flex;justify-content:space-between;align-items:center}.hero-carousel-controls>div:last-child{display:flex;gap:6px}.hero-carousel-controls button{border:1px solid #ffffff80;background:#ffffffdc;color:var(--ink);width:34px;height:34px;border-radius:50%}.hero-dots{display:flex;gap:7px}.hero-dots button{width:8px;height:8px;padding:0;background:#ffffff80;border:0}.hero-dots button[aria-pressed=true]{width:25px;border-radius:10px;background:white}.art-caption{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);padding-top:13px;gap:10px}
@media(min-width:1500px){.hero{padding-top:64px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.header{padding:20px 32px}nav{gap:20px}.hero{gap:25px}h1{font-size:46px}.hero-actions{gap:16px}.button{gap:14px;padding:14px 16px}.hero-description{font-size:13px}.service-grid{gap:20px}.about-layout{gap:45px}.case-meta{display:block}.case-meta p{margin-top:5px}.process-grid{gap:20px}.process-grid h3{font-size:17px}}
@media(max-width:760px){html{scroll-padding-top:25px}.wrap{width:calc(100% - 40px)}.header{padding:18px 20px;min-height:83px;position:relative}.brand{font-size:22px}.brand-sub{font-size:9px}.menu-toggle{display:flex;gap:13px;align-items:center;border:1px solid var(--line);border-radius:4px;padding:9px 12px;background:transparent;font-size:13px}nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--paper);z-index:10;border-bottom:1px solid var(--line);padding:20px;box-shadow:0 12px 20px #252b2708}nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}nav a{padding:15px}.nav-contact{margin-top:8px}.hero{padding-top:32px;grid-template-columns:1fr;gap:34px}.intro{margin-bottom:20px}h1{font-size:clamp(40px,9vw,64px);letter-spacing:-2px;margin-bottom:22px}.hero-description{font-size:14px}.hero-actions{gap:25px}.hero-art{max-width:560px;width:100%;margin:auto}.hero-art svg{max-height:470px}.art-caption{font-size:9px}.hero-bottom{margin-top:0;font-size:10px;gap:20px;padding-bottom:20px}.hero-bottom a{white-space:nowrap}.hero-bottom a span{margin-left:8px}.section{padding-block:62px}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin-top:22px;font-size:13px}.kicker{margin-bottom:14px}h2{letter-spacing:-1px;font-size:31px}.service-grid{grid-template-columns:1fr 1fr;gap:32px 22px}.service-grid h3{font-size:20px}.service-grid p{font-size:13px}.tags{flex-wrap:wrap;gap:5px}.tags span{font-size:10px;padding:5px 8px}.cases{padding-top:10px}.filters{gap:3px}.filters button{padding:9px 12px;font-size:12px}.case-grid{gap:27px 18px}.case-visual{aspect-ratio:1.15}.concept>span{font-size:16px;left:16px;top:19px}.scene{width:76%;right:4%;height:58%}.case-meta h3{font-size:16px}.case-meta p{font-size:10px}.about-layout{grid-template-columns:1fr;gap:25px}.about-sign{display:none}.about-copy{padding-top:0}.about-copy h3{font-size:19px}.about-copy p{font-size:14px}.process-grid{grid-template-columns:1fr 1fr;gap:26px}.process-grid h3{font-size:17px;margin-top:18px}.contact{padding-block:55px}.contact-layout{grid-template-columns:1fr;gap:35px}.contact-details{padding-left:0;padding-top:25px;border-left:0;border-top:1px solid #d6bba5}.contact h2{font-size:34px}.footer{padding-block:27px;flex-wrap:wrap;min-height:140px}.footer-brand{width:100%;font-size:20px}.footer p{flex:1}}
@media(max-width:760px){.integrated-services{grid-template-columns:1fr;gap:25px;margin-top:34px}.integrated-services h3{font-size:19px}.integrated-services ul{font-size:12px;gap:15px 12px}.company-principles{grid-template-columns:1fr;gap:24px;margin-top:30px;padding-top:28px}.company-principles p{max-width:none}.team-grid{grid-template-columns:1fr;gap:25px}.team-grid article{padding-top:22px}.team-grid p{max-width:none}.team{padding-bottom:0}}
.case-visual{display:block;width:100%;border:0;padding:0;text-align:left}.case-visual img{display:block;transition:transform .25s}.case-visual:hover img{transform:scale(1.025)}.photo-count{position:absolute;bottom:16px;right:16px;padding:8px 12px;border-radius:4px;background:#fff;color:var(--ink);font-size:12px;box-shadow:0 2px 16px #0001}.case-meta{display:block}.case-meta p{margin-top:7px;font-size:12px}.case-card:last-child{grid-column:1/-1;max-width:calc(50% - 16px)}.gallery-open{overflow:hidden}#gallery{width:min(1050px,calc(100% - 48px));max-height:92dvh;border:0;border-radius:10px;padding:25px;background:var(--paper);color:var(--ink);overflow:auto}#gallery::backdrop{background:#141914d9}.gallery-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.gallery-heading h2{font-size:22px;letter-spacing:0}.gallery-heading p{font-size:12px;color:var(--muted);margin:6px 0 0}.gallery-heading button{background:transparent;border:1px solid var(--line);border-radius:4px;padding:10px 14px;font-size:13px;white-space:nowrap}.gallery-stage{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:16px}.gallery-stage img{display:block;max-width:100%;max-height:57dvh;object-fit:contain;width:auto;height:auto;margin:auto}.gallery-stage button{width:42px;height:48px;border:1px solid var(--line);border-radius:5px;background:white;color:var(--ink);font-size:32px}.gallery-stage button:disabled{opacity:.4;cursor:default}#gallery-counter{text-align:center;font-size:12px;color:var(--muted);margin:14px 0}.gallery-thumbnails{display:flex;gap:8px;overflow-x:auto;padding:6px 4px 10px}.gallery-thumbnails button{flex:0 0 80px;height:58px;border:2px solid transparent;border-radius:4px;padding:2px;background:transparent}.gallery-thumbnails button[aria-pressed=true]{border-color:var(--orange)}.gallery-thumbnails img{display:block;width:100%;height:100%;object-fit:cover;border-radius:2px}
@media(max-width:760px){.case-grid{grid-template-columns:1fr}.case-card:last-child{grid-column:auto;max-width:none}.case-visual{aspect-ratio:1.5}.case-meta h3{font-size:18px}.case-meta p{font-size:12px}#gallery{width:calc(100% - 20px);padding:18px 12px;max-height:94dvh}.gallery-heading h2{font-size:18px}.gallery-stage{grid-template-columns:30px minmax(0,1fr) 30px;gap:5px}.gallery-stage button{width:30px;height:42px}.gallery-stage img{max-height:53dvh}.gallery-thumbnails button{flex-basis:64px;height:48px}}
@media(max-width:760px){.hero-carousel{aspect-ratio:1.25}.hero-slide figcaption{left:20px;right:20px;bottom:20px}.hero-slide figcaption strong{font-size:15px}.hero-carousel-controls{left:13px;right:13px;top:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.case-visual img,.hero-slide{transition:none}}
/* mobile-touch-targets */
@media(max-width:760px){
  .hero-carousel-controls button{width:44px;height:44px}
  .hero-dots{gap:0}
  .hero-dots button{position:relative;width:28px;height:44px;padding:0;background:transparent;border:0;border-radius:0}
  .hero-dots button::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background:#ffffff80}
  .hero-dots button[aria-pressed=true]{width:44px;background:transparent}
  .hero-dots button[aria-pressed=true]::after{width:25px;border-radius:10px;background:white}
  .gallery-heading button{min-height:44px}
  .gallery-stage{grid-template-columns:44px minmax(0,1fr) 44px;gap:6px}
  .gallery-stage button{width:44px;height:48px;font-size:28px}
}
