@charset "UTF-8";
:root{--paper:#faf8f4;--white:#ffffff;--ink:#2b2b2b;--muted:#6e6559;--line:#e6ded2;--accent:#9b7d4f;--accent-dark:#7c613c;--sans:"Microsoft YaHei","Microsoft YaHei UI","Yu Gothic","Meiryo","PingFang SC","Noto Sans CJK SC",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--paper);color:var(--ink);font:600 18px/1.9 var(--sans);-webkit-font-smoothing:antialiased}
body.modal-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{color:inherit;cursor:pointer;border-radius:0}
a,button{-webkit-tap-highlight-color:transparent}
img{max-width:100%;display:block}
figure,p,dl{margin:0}
h1,h2,h3{margin:0;font-weight:800;text-wrap:balance}
h1,h2{font-family:var(--sans)}
h2{font-size:clamp(32px,2.7vw,42px);line-height:1.55;letter-spacing:.04em}
h3{font-size:26px}
input,textarea{border-radius:0}
::selection{background:#e4d4ba}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.wrap{width:min(1240px,calc(100% - 112px));margin-inline:auto}
.section-space{padding-block:88px}
.arrow{font:26px var(--sans)}
.text-link{display:inline-flex;align-items:center;gap:30px;border-bottom:1px solid #9b7d4f;padding:10px 0;font-size:18px;line-height:1.6;transition:color .2s,gap .2s}
.text-link:hover{color:var(--accent-dark);gap:36px}
.text-link>span{font-size:26px;line-height:1}
.skip-link{position:fixed;z-index:20;top:-100px;left:20px;padding:12px 22px;background:var(--ink);color:white}
.skip-link:focus{top:10px}
.site-header{position:relative;z-index:10;background:var(--paper);border-bottom:1px solid var(--line)}
.header-inner{height:100px;width:calc(100% - 112px);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:40px}
.brand{display:flex;align-items:center;gap:16px;flex-shrink:0}
.brand img{width:44px;height:44px;object-fit:contain}
.brand strong{font:800 30px/1.4 var(--sans);letter-spacing:.12em;display:block}
.main-nav{display:flex;gap:46px;height:100%;align-items:center;margin-left:auto}
.main-nav>a{font-size:18px;letter-spacing:.06em;padding:12px 1px;position:relative;white-space:nowrap}
.main-nav>a::after{content:"";height:1px;background:var(--ink);position:absolute;bottom:2px;left:0;right:0;transform:scaleX(0);transition:transform .2s}
.main-nav>a[aria-current]::after,.main-nav>a:hover::after{transform:scaleX(1)}
.menu-toggle{display:none;border:0;background:none;width:46px;height:46px;padding:10px}
.menu-toggle span{display:block;width:26px;height:2px;background:var(--ink);margin:7px 0;transition:transform .2s}
.hero{display:grid;grid-template-columns:37% 63%;height:clamp(560px,74vh,700px)}
.hero-copy{padding:80px 46px 65px 56px;display:flex;align-items:flex-start;justify-content:center;flex-direction:column}
.hero h1{font-size:clamp(40px,4.2vw,64px);line-height:1.55;letter-spacing:.025em}
.hero-description{font-size:18px;line-height:1.9;color:var(--muted);margin-top:32px}
.hero .text-link{margin-top:35px}
.hero-visual{min-width:0;min-height:0}
.hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:45% center}
.home-intro{display:grid;grid-template-columns:1fr 1.5fr;gap:95px;align-items:center;border-bottom:1px solid var(--line)}
.intro-copy>p{color:var(--muted);font-size:18px;line-height:2}
.intro-copy .text-link{margin-top:26px}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:40px}
.featured-section{background:#f1ebe1}
.featured-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:70px;align-items:center}
.featured-image{display:block;position:relative;overflow:hidden}
.featured-image>img{width:100%;height:auto;aspect-ratio:1.28;object-fit:cover;transition:transform .6s}
.featured-image:hover>img{transform:scale(1.025)}
.featured-copy h3{font:800 34px/1.55 var(--sans);margin-bottom:24px}
.featured-copy>p{font-size:18px;line-height:2;color:var(--muted)}
.featured-copy .text-link{margin-top:30px}
.project-meta{font-size:18px}
.project-meta>div{display:flex;gap:24px;padding-block:12px;border-bottom:1px solid #ded0ba}
.project-meta dt{color:var(--muted);flex:0 0 90px}
.project-meta dd{margin:0;line-height:1.8}
.material-section{display:grid;grid-template-columns:1fr 1.35fr;gap:95px;align-items:center}
.material-name{margin:26px 0 16px;font-size:22px}
.material-copy>p:not(.material-name){font-size:18px;color:var(--muted);line-height:2}
.material-copy .text-link{margin-top:28px}
.material-image .gallery-trigger{width:100%}
.material-image img{width:100%;height:auto;aspect-ratio:1.15;object-fit:cover;object-position:35% 40%}
.selected-section{padding-top:20px;border-bottom:1px solid var(--line)}
.home-case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.case-image-link{display:block;overflow:hidden;background:#ebe3d7}
.case-image-link img{width:100%;height:auto;aspect-ratio:1.3;object-fit:cover;transition:transform .6s}
.case-image-link:hover img{transform:scale(1.035)}
.case-card-title{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:24px}
.case-card h3{font:700 26px/1.6 var(--sans)}
.case-card-title>.arrow{color:var(--accent);flex-shrink:0;transition:transform .2s}
.case-card-title:hover>.arrow{transform:translate(3px,-3px)}
.contact-band{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-block:74px}
.contact-band .text-link{min-width:180px;justify-content:space-between}
.site-footer{background:#2b2b2b}
.footer-main{display:grid;grid-template-columns:1fr 1.5fr .7fr;gap:60px;padding-block:48px}
.footer-brand>a{font:800 28px var(--sans);letter-spacing:.1em}
.footer-address p{font-size:18px;margin-bottom:12px}
.footer-address>a{font:700 22px var(--sans)}
.footer-links{display:flex;flex-direction:column;gap:14px;font-size:18px;align-items:flex-start}
.footer-links a:hover,.footer-bottom a:hover{color:var(--accent-dark)}
.footer-bottom{border-top:1px solid #554b3d;padding-block:24px;font-size:18px;color:var(--muted);display:flex;justify-content:space-between;gap:25px}
.footer-bottom>span:last-child{display:flex;gap:28px}
.page-heading{padding-top:72px;padding-bottom:55px}
.page-heading h1{font-size:clamp(36px,3.6vw,54px);letter-spacing:.035em;line-height:1.6}
.about-story{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:start}
.about-image img{width:100%;height:auto;aspect-ratio:1.18;object-fit:cover}
.story-copy h2{font-size:32px;margin-bottom:26px}
.prose{color:var(--muted);font-size:18px;line-height:2}
.prose p+p{margin-top:24px}
.facts{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);margin-top:65px;padding-block:40px;gap:30px}
.facts>div{text-align:center;border-right:1px solid var(--line)}
.facts>div:last-child{border:0}
.fact-value{font:800 52px/1.4 var(--sans);color:var(--accent)}
.fact-unit{font:700 22px/1.4 var(--sans)}.facts>div:first-child .fact-unit{font:inherit}
.facts p{font-size:18px;color:var(--muted);margin-top:14px}
.service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}
.service-list article{border-top:1px solid #c9b594;padding-top:26px}
.service-list h3{font:800 28px var(--sans)}
.service-list p{font-size:18px;line-height:2;color:var(--muted);margin-top:20px}
.services-section{border-bottom:1px solid var(--line)}
.works-section{padding-bottom:80px;border-bottom:1px solid var(--line)}
.case-filters{display:flex;flex-wrap:wrap;gap:20px 35px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:40px;font-size:18px}
.case-filters>a{padding-bottom:10px;position:relative;white-space:nowrap;color:var(--muted)}
.case-filters>a[aria-current]{color:var(--ink)}
.case-filters>a[aria-current]::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent)}
.works-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:55px 38px}
.works-grid .case-card h3{font-size:28px}
.works-grid .case-image-link img{aspect-ratio:1.4}
.empty-state{min-height:280px;padding-block:60px;text-align:center}
.empty-state p{color:var(--muted);margin:24px 0}
.detail-heading{padding-top:40px;padding-bottom:40px}
.back-link{font-size:18px;color:var(--muted);display:inline-block;margin-bottom:32px}
.back-link:hover{color:var(--accent-dark)}
.detail-heading h1{font-size:48px;line-height:1.6;letter-spacing:.035em}
.detail-category{font-size:20px;color:var(--muted);margin-top:20px}
.detail-category span{margin-inline:16px}
.detail-cover .gallery-trigger{width:100%}
.detail-cover img{width:100%;height:auto;max-height:800px;object-fit:cover}
.gallery-trigger{border:0;background:none;padding:0;position:relative;display:block;overflow:hidden;line-height:1}
.gallery-trigger img{transition:transform .5s}
.gallery-trigger:hover img{transform:scale(1.018)}
.zoom-icon{position:absolute;bottom:20px;right:20px;width:46px;height:46px;background:rgba(250,248,244,.94);display:grid;place-items:center;font:30px/1 var(--sans)}
.detail-info{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;padding-block:55px}
.detail-info .project-meta{margin:0}
.detail-info .prose{padding-top:10px}
.detail-gallery{padding-bottom:60px;border-bottom:1px solid var(--line)}
.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}
.gallery-grid figure{align-self:start}
.gallery-grid .gallery-trigger{width:100%}
.gallery-grid img{width:100%;height:auto;max-height:780px;object-fit:cover}
.gallery-grid figure:last-child:nth-child(odd){grid-column:1/-1}
.gallery-grid figure:last-child:nth-child(odd) img{max-height:750px;object-fit:contain;background:#f1ebe1}
.related-projects{border-bottom:1px solid var(--line)}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-bottom:85px}
.contact-details h2{font-size:32px;margin-bottom:30px}
.contact-people{margin-bottom:28px}
.contact-people>div{padding-block:22px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:30px}
.contact-people>div>span{font-size:18px;color:var(--muted)}
.contact-people a{font:700 30px/1.5 var(--sans);display:flex;align-items:center;gap:20px}
.contact-people a:hover{color:var(--accent-dark)}
.contact-list{font-size:18px}
.contact-list>div{display:grid;grid-template-columns:90px 1fr;gap:20px;padding-block:16px}
.contact-list dt{color:var(--muted)}
.contact-list dd{margin:0;line-height:1.9}
.map-link{display:inline-flex;gap:14px;font-size:18px;color:var(--accent);align-items:center;margin-top:16px}
.wechat-contact{display:flex;align-items:center;gap:28px;padding-top:30px}
.wechat-contact img{width:130px;height:130px;object-fit:contain;border:7px solid var(--white)}
.wechat-contact h3{font-size:22px}
.contact-form-wrap{background:#f1ebe1;padding:40px}
.contact-form-wrap h2{font-size:34px}
.contact-form{margin-top:24px}
.contact-form label{display:block;margin-top:24px;font-size:18px}
.contact-form label>span{color:var(--accent-dark);padding-left:4px}
.contact-form input,.contact-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #c9b594;background:none;padding:14px 0;font-size:18px;color:var(--ink);line-height:1.9}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#766854;font-size:18px}
.contact-form input:focus,.contact-form textarea:focus{outline:0;border-bottom-color:var(--accent)}
.contact-form textarea{resize:vertical;min-height:150px}
.form-bottom{margin-top:30px}
.solid-button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;min-width:220px;padding:16px 24px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font-size:18px;transition:background .2s}
.solid-button:hover{background:#7c613c}
.solid-button>span{font-size:26px;line-height:1}
.form-alert{padding:16px;margin-top:24px;font-size:18px;border-left:2px solid var(--accent);background:#e9dfce}
.form-alert.error{border-color:#a16a53;background:#f0e1d8}
.not-found{padding-block:110px;min-height:60vh}
.not-found h1{font-size:46px}
.not-found>p{color:var(--muted);margin:30px 0}
.lightbox{border:0;padding:24px 30px;background:var(--paper);width:min(1200px,94vw);max-height:95vh;overflow:auto;color:var(--ink)}
.lightbox::backdrop{background:rgba(35,30,24,.9)}
.lightbox-top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:16px}
.lightbox-caption{font-size:18px}
.lightbox-close{font:34px var(--sans);background:none;border:0;width:44px;height:44px}
.lightbox-image-wrap{display:flex;align-items:center;justify-content:center;gap:15px}
.lightbox-image{height:auto;max-height:70vh;max-width:calc(100% - 90px);object-fit:contain;width:auto}
.lightbox-prev,.lightbox-next{background:none;border:0;width:32px;font-size:28px;flex-shrink:0}
.lightbox-count{font-size:18px;color:var(--muted);text-align:center;margin-top:18px}
@media(min-width:1600px){.hero-copy{padding-left:max(56px,calc((100vw - 1480px)/2))}.header-inner{width:min(1480px,calc(100% - 112px))}}
@media(max-width:1100px){.header-inner,.wrap{width:calc(100% - 64px)}.main-nav{gap:30px}.hero{grid-template-columns:40% 60%;height:580px}.hero-copy{padding:60px 26px 50px 32px}.hero h1{font-size:clamp(36px,4.2vw,46px)}.home-intro{gap:55px;grid-template-columns:1fr 1.4fr}.featured-layout{gap:40px;grid-template-columns:1.3fr 1fr}.material-section{gap:55px}.home-case-grid{gap:24px}.case-card h3{font-size:24px}.about-story{gap:40px}.contact-layout{gap:40px}.contact-form-wrap{padding:30px}.footer-main{gap:35px}.detail-info{gap:50px}.contact-people a{font-size:28px;gap:16px}}
@media(max-width:760px){
html{scroll-padding-top:20px}.wrap,.header-inner{width:calc(100% - 40px)}.section-space{padding-block:60px}.header-inner{height:82px;gap:12px}.brand{gap:12px}.brand img{width:38px;height:38px}.brand strong{font-size:28px}.menu-toggle{display:block;margin-left:auto}.main-nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--paper);height:auto;padding:16px 25px 24px;border-bottom:1px solid var(--line);gap:0}.main-nav.is-open{display:flex;flex-direction:column;align-items:stretch}.main-nav>a{padding:15px 7px;font-size:18px}.main-nav>a::after{width:65px;left:7px;bottom:5px;right:auto}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
.hero{display:flex;flex-direction:column;height:auto}.hero-copy{padding:40px 25px 44px}.hero h1{font-size:42px;line-height:1.55}.hero-description{margin-top:24px;font-size:18px}.hero .text-link{margin-top:24px}.hero-visual>img{width:100%;height:auto;aspect-ratio:1.32;object-fit:cover;object-position:42% center}.home-intro{grid-template-columns:1fr;gap:28px}.home-intro h2{font-size:34px}.section-heading{align-items:flex-start;flex-direction:column;gap:22px;margin-bottom:30px}.section-heading h2{font-size:32px}.featured-layout{grid-template-columns:1fr;gap:30px}.featured-image>img{aspect-ratio:1.25}.featured-copy h3{font-size:30px;margin-bottom:20px}.featured-copy .text-link{margin-top:24px}.material-section{display:flex;flex-direction:column;gap:30px;align-items:stretch}.material-copy h2{font-size:34px}.material-name{margin-top:24px}.material-image img{aspect-ratio:1.2}.selected-section{padding-top:15px}.home-case-grid{grid-template-columns:1fr;gap:35px}.case-card h3{font-size:26px}.case-card-title{margin-top:20px}.case-image-link img{aspect-ratio:1.4}.contact-band{padding-block:50px;align-items:flex-start;flex-direction:column;gap:26px}.contact-band h2{font-size:32px}.footer-main{grid-template-columns:1fr;gap:30px;padding-block:40px}.footer-links{flex-direction:row;flex-wrap:wrap;gap:25px}.footer-bottom{flex-direction:column;gap:20px;padding-block:22px}.footer-bottom>span:last-child{justify-content:space-between;flex-wrap:wrap;gap:20px}
.page-heading{padding-top:42px;padding-bottom:36px}.page-heading h1{font-size:38px;line-height:1.55;letter-spacing:.02em}.page-cases .page-heading h1{font-size:32px}.about-story{grid-template-columns:1fr;gap:30px}.about-image img{aspect-ratio:1.2}.story-copy h2{font-size:30px}.facts{margin-top:42px;padding-block:20px;grid-template-columns:1fr;gap:0}.facts>div{padding-block:26px;border-right:0;border-bottom:1px solid var(--line)}.fact-value{font-size:48px}.service-list{grid-template-columns:1fr;gap:35px}.service-list h3{font-size:28px}.case-filters{gap:14px 24px;padding-bottom:12px;margin-bottom:30px}.case-filters>a{font-size:18px}.works-grid{grid-template-columns:1fr;gap:36px}.works-grid .case-card h3{font-size:26px}.works-section{padding-bottom:50px}.detail-heading{padding-top:28px;padding-bottom:30px}.back-link{margin-bottom:28px}.detail-heading h1{font-size:38px;line-height:1.5}.detail-category{font-size:18px}.detail-category span{margin-inline:10px}.detail-cover{width:100%}.detail-cover img{max-height:520px}.detail-info{grid-template-columns:1fr;gap:28px;padding-block:32px}.project-meta>div{gap:18px}.detail-info .prose{padding-top:0}.gallery-grid{grid-template-columns:1fr;gap:20px}.gallery-grid img{max-height:none;height:auto}.gallery-grid figure:last-child:nth-child(odd){grid-column:auto}.detail-gallery{padding-bottom:35px}.zoom-icon{bottom:14px;right:14px;width:44px;height:44px}.contact-layout{grid-template-columns:1fr;gap:42px;padding-bottom:55px}.contact-details h2{font-size:30px}.contact-people>div{gap:18px;padding-block:20px}.contact-people a{font-size:26px;gap:14px}.contact-list>div{grid-template-columns:85px 1fr;gap:15px}.contact-form-wrap{padding:30px 24px}.contact-form-wrap h2{font-size:30px}.solid-button{width:100%;min-width:0}.not-found{padding-block:80px}.not-found h1{font-size:36px}.lightbox{padding:14px;width:96vw}.lightbox-image-wrap{gap:3px}.lightbox-image{max-width:calc(100% - 62px);max-height:66vh}.lightbox-prev,.lightbox-next{font-size:26px;width:28px}.lightbox-top{gap:15px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* The reference site's gold-brown palette, with large readable type. */
.site-header{background:#fff}
.brand strong{color:var(--accent)}
.main-nav>a[aria-current],.main-nav>a:hover{color:var(--accent-dark)}
.main-nav>a::after{background:var(--accent)}
.text-link{border-bottom-color:var(--accent)}
.text-link:hover{color:var(--accent-dark)}
.solid-button{background:#86663f;border-color:#86663f;color:#fff}
.solid-button:hover{background:var(--accent-dark)}
.site-footer{color:#f8f4ec}
.footer-brand>a{color:#d6b788}
.footer-links a:hover,.footer-bottom a:hover{color:#d6b788}
.footer-bottom{color:#d8cdbb}
.footer-bottom .icp-link{display:inline-flex;align-items:center;min-height:44px;font-size:18px;font-weight:700}

/* Clear, bold sans-serif typography and consistent upright numbers. */
body{font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1}
h1,h2,h3,.brand strong{font-weight:800}
.main-nav,.language-switcher,.text-link,.solid-button,.contact-form label,.case-filters{font-weight:700}
.header-inner{gap:24px;min-height:108px;height:auto;padding-block:22px}
.brand{min-width:0;flex-shrink:1}.brand strong{letter-spacing:.035em;line-height:1.35}
.main-nav{gap:28px;flex-shrink:0}
.language-selector{position:relative;flex-shrink:0;font-size:18px;line-height:1.5}
.language-button{display:grid;place-items:center;width:46px;height:46px;background:transparent;border:0;padding:0;color:var(--ink)}
.language-globe{display:block;width:28px;height:28px}
.language-button:hover,.language-button[aria-expanded="true"]{color:var(--accent-dark);background:#f1ebe1;border-radius:50%}
.language-switcher{position:absolute;right:0;top:calc(100% + 10px);width:170px;padding:8px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 24px rgba(43,43,43,.1);z-index:15;font-weight:700}
.language-switcher[hidden]{display:none}
.language-switcher a{display:block;white-space:nowrap;padding:12px 16px}
.language-switcher a:hover,.language-switcher a[aria-current]{color:var(--accent-dark);background:#f1ebe1}
.priority-projects{border-top:1px solid var(--line);padding-top:66px}
.priority-case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px}
.priority-case .case-image-link img{aspect-ratio:1.25;object-position:center 40%}
.priority-case h3{font-size:32px;font-weight:800;line-height:1.5}
.priority-case>p{margin-top:20px;line-height:2;color:var(--muted)}
.priority-case>.text-link{margin-top:18px}
.hero-copy{min-width:0}.hero h1{white-space:normal}
.lang-en .hero h1{font-size:clamp(36px,3.8vw,58px);line-height:1.35;letter-spacing:0}
.lang-en .hero-description{line-height:1.8}
.lang-en h1,.lang-en h2,.lang-en h3{letter-spacing:0}
.case-card-title h3{min-width:0;overflow-wrap:anywhere}
.project-meta dt{flex-basis:120px}.project-meta dd{min-width:0;overflow-wrap:anywhere}
.footer-brand{min-width:0}.footer-brand>a{overflow-wrap:anywhere;line-height:1.4;letter-spacing:.035em}
.contact-people a,.footer-address>a,.fact-value{font-family:var(--sans);font-weight:800;font-variant-numeric:lining-nums tabular-nums;letter-spacing:0}
.contact-people>div{gap:22px;flex-wrap:wrap}.contact-people a{white-space:nowrap}
.contact-list>div{grid-template-columns:110px minmax(0,1fr)}
.contact-details h2,.story-copy h2{overflow-wrap:anywhere}
.lightbox-count{font-weight:700}
@media(max-width:1150px) and (min-width:761px){
 .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 24px;padding-block:18px}
 .brand{grid-column:1;grid-row:1}.language-selector{grid-column:2;grid-row:1;margin:0}
 .main-nav{grid-column:1/-1;grid-row:2;justify-content:center;gap:42px;margin:0}
}
@media(max-width:1100px){
 .home-case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hero{grid-template-columns:44% 56%}.hero-copy{padding-right:30px}
 .lang-en .hero h1{font-size:38px}
 .facts{gap:18px}.fact-value{font-size:42px}.fact-unit{font-size:20px}
 .contact-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .contact-people a{font-size:26px}
 .detail-heading h1{overflow-wrap:anywhere}
}
@media(max-width:760px){
 .header-inner{display:grid;grid-template-columns:minmax(0,1fr) 46px 46px;gap:12px;padding-block:16px;height:auto;min-height:82px}
 .brand{grid-column:1;grid-row:1}.brand strong{font-size:26px;letter-spacing:.03em}
 .lang-en .brand strong{font-size:24px;max-width:230px;line-height:1.3}
 .menu-toggle{grid-column:2;grid-row:1;margin:0}
 .language-selector{grid-column:3;grid-row:1;justify-self:end}
 .priority-case-grid{grid-template-columns:1fr;gap:40px}
 .priority-case h3{font-size:30px}
 .main-nav{top:100%;margin:0;background:#fff}
 .hero-copy{padding:38px 24px 42px}.hero h1{font-size:40px}.lang-en .hero h1{font-size:40px}
 .home-case-grid{grid-template-columns:1fr}.contact-layout{grid-template-columns:1fr}
 .fact-value{font-size:48px}.fact-unit{font-size:24px}
 .contact-people>div{gap:16px}.contact-people a{font-size:26px}
 .contact-list>div{grid-template-columns:90px minmax(0,1fr);gap:14px}
 .lang-en .page-heading h1{font-size:36px}.detail-heading h1{font-size:34px}
 .contact-form-wrap h2{font-size:28px}.project-meta dt{flex-basis:112px}
}

/* A separate material introduction alongside the project collection. */
.product-catalog{padding-bottom:60px}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 32px}
.product-teaser{display:flex;flex-direction:column;gap:20px;min-width:0;padding-bottom:24px;border-bottom:1px solid var(--line)}
.product-teaser-image{display:block;overflow:hidden;background:#ebe5dc}
.product-teaser-image img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .6s}
.product-teaser-image:hover img{transform:scale(1.025)}
.product-teaser-copy{display:flex;flex-direction:column;flex:1;min-width:0;align-items:flex-start}
.product-teaser-copy h3{font-size:26px;font-weight:800;line-height:1.6;overflow-wrap:anywhere}
.product-teaser-copy h3 a:hover{color:var(--accent-dark)}
.product-teaser-copy p{margin-block:12px 18px;color:var(--muted);font-size:18px;line-height:1.8;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;max-height:5.4em;overflow:hidden}
.product-teaser-copy .text-link{margin-top:auto}
.product-back{padding-top:34px}
.product-back .back-link{margin-bottom:28px}
.product-hero{display:grid;grid-template-columns:1fr 1.25fr;gap:64px;align-items:center;padding-bottom:58px;border-bottom:1px solid var(--line)}
.product-hero-copy{min-width:0}
.product-hero h1{font-size:clamp(44px,4.5vw,62px);line-height:1.45}
.product-lead{font-size:22px;line-height:1.9;margin-block:24px 30px;color:var(--muted)}
.product-hero .project-meta>div:last-child{border-bottom:0}
.product-hero-image .gallery-trigger{width:100%}
.product-hero-image img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.product-description{padding-block:62px 72px}
.product-prose{max-width:960px;margin-inline:auto}
.product-prose h2{font-size:32px;line-height:1.6;letter-spacing:.02em;margin-block:48px 22px}
.product-prose h2:first-child{margin-top:0}
.product-prose p{font-size:20px;line-height:2;font-weight:600}
.product-gallery figcaption{font-size:20px;font-weight:700;line-height:1.7;margin-top:16px}
.product-gallery .gallery-grid img{aspect-ratio:1;object-fit:cover;max-height:620px}
.product-gallery .gallery-grid figure:last-child:nth-child(odd) img{aspect-ratio:auto;max-height:640px;object-fit:contain}
@media(max-width:1100px){
 .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}
 .product-hero{gap:36px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .product-lead{font-size:20px}
}
@media(max-width:760px){
 .product-catalog{padding-bottom:38px}
 .product-grid{grid-template-columns:1fr;gap:32px}
 .product-teaser{gap:18px}
 .product-hero{grid-template-columns:1fr;gap:28px;padding-bottom:36px}
 .product-back{padding-top:24px}
 .product-back .back-link{margin-bottom:20px}
 .product-hero h1{font-size:42px}
 .product-lead{margin-block:18px 24px}
 .product-description{padding-block:42px 48px}
 .product-prose h2{font-size:28px;margin-block:36px 18px}
 .product-prose p{font-size:18px;line-height:2}
 .product-gallery figcaption{font-size:18px;margin-top:12px}
 .product-gallery .gallery-grid img{max-height:none}
 .product-gallery .gallery-grid figure:last-child:nth-child(odd) img{max-height:520px}
}
