/*
Theme Name: Guanwei Studio
Author: GUANWEI STUDIO
Description: Lightweight custom theme for 观微工作室 / GUANWEI STUDIO.
Version: 5.10.0
Text Domain: guanwei-studio
*/
:root{--bg:#0b0b0b;--soft:#151515;--text:#f5f5f2;--muted:#a6a6a2;--line:rgba(255,255,255,.12);--red:#b62020;--max:1320px;--pad:clamp(22px,4vw,64px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.gw-container{width:min(var(--max),calc(100% - var(--pad)*2));margin:auto}
.gw-header{position:sticky;top:0;z-index:50;background:rgba(11,11,11,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.gw-header-inner{height:82px;display:flex;align-items:center;gap:28px}.gw-brand{display:flex;align-items:center;gap:13px}.gw-seal{width:38px;height:38px;border:2px solid var(--red);color:var(--red);display:grid;place-items:center;font-family:serif;font-weight:700;font-size:24px}.gw-brand-text{font-size:14px;line-height:1.2;white-space:nowrap}.gw-brand-text b{display:block;font-size:15px}.gw-brand-text span{font-size:10px;color:#bdbdb9;letter-spacing:.13em}.gw-nav{margin-left:auto}.gw-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:28px}.gw-nav a{font-size:13px;color:#ddd}.gw-nav a:hover,.gw-nav .current-menu-item>a{color:white}.gw-lang{margin-left:10px;padding-left:22px;border-left:1px solid var(--line);color:#aaa;font-size:12px;white-space:nowrap}.gw-menu-toggle{display:none;margin-left:auto;background:none;border:0;color:white;font-size:28px}
.gw-hero{min-height:72vh;display:flex;align-items:flex-end;position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.48)),linear-gradient(135deg,#171717,#0b0b0b 55%,#1b1b1b)}.gw-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.82}.gw-hero-inner{position:relative;z-index:2;padding:clamp(90px,12vw,170px) 0 82px}.gw-kicker,.gw-eyebrow{color:var(--red);font-size:11px;font-weight:700;letter-spacing:.22em}.gw-hero h1{font-size:clamp(42px,6.6vw,96px);line-height:.98;margin:0 0 24px;letter-spacing:-.04em;max-width:980px}.gw-hero h1 span{display:block;color:#c8c8c4;font-size:.42em;letter-spacing:.02em;margin-top:18px;font-weight:500}.gw-lead{max-width:760px;color:#d2d2cf;font-size:clamp(16px,1.5vw,21px);margin:0 0 34px}.gw-actions{display:flex;gap:12px;flex-wrap:wrap}.gw-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:1px solid rgba(255,255,255,.24);font-size:13px}.gw-btn-primary{background:var(--red);border-color:var(--red)}
.gw-section{padding:clamp(72px,9vw,130px) 0;border-top:1px solid var(--line)}.gw-section-light{background:#f1f0ed;color:#151515}.gw-section-head{display:grid;grid-template-columns:1fr 1.3fr;gap:50px;margin-bottom:50px;align-items:end}.gw-section h2{font-size:clamp(34px,4.6vw,64px);line-height:1.05;margin:10px 0 0;letter-spacing:-.035em}.gw-section-intro{font-size:18px;color:#aaa;max-width:680px}.gw-section-light .gw-section-intro{color:#585858}.gw-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}.gw-card{background:var(--soft);padding:34px;min-height:310px;display:flex;flex-direction:column}.gw-section-light .gw-card{background:#fff}.gw-card-num{font-size:11px;color:var(--red);letter-spacing:.16em}.gw-card h3{font-size:24px;line-height:1.2;margin:65px 0 14px}.gw-card p{color:#9f9f9b;margin:0}.gw-section-light .gw-card p{color:#666}.gw-card-en{font-size:11px;color:#777;letter-spacing:.12em;margin-top:auto;padding-top:26px}
.gw-projects{display:grid;grid-template-columns:1.2fr .8fr;gap:1px;background:var(--line)}.gw-project{position:relative;min-height:420px;background:#181818;overflow:hidden}.gw-project:nth-child(1){grid-row:span 2;min-height:841px}.gw-project-image{position:absolute;inset:0;background:linear-gradient(135deg,#2a2a2a,#0e0e0e);background-size:cover;background-position:center}.gw-project:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.85))}.gw-project-copy{position:absolute;z-index:2;left:28px;right:28px;bottom:26px}.gw-project-copy small{color:#bbb;letter-spacing:.12em}.gw-project-copy h3{font-size:26px;margin:7px 0 0}.gw-manifesto{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.gw-manifesto blockquote{font-size:clamp(30px,4.4vw,58px);line-height:1.08;margin:0;letter-spacing:-.03em}.gw-manifesto p{color:#aaa;font-size:18px}.gw-contact-strip{display:flex;justify-content:space-between;align-items:center;gap:30px}.gw-contact-strip h2{margin:0}.gw-footer{padding:44px 0;border-top:1px solid var(--line);color:#8e8e8a;font-size:12px}.gw-footer-inner{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}
.gw-page-hero{padding:120px 0 70px;border-bottom:1px solid var(--line)}.gw-page-hero h1{font-size:clamp(46px,7vw,92px);margin:0;line-height:1}.gw-content{padding:70px 0 120px}.gw-content .entry-content{max-width:900px}.gw-content p{color:#c0c0bc}.gw-post-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.gw-post-card{padding:28px;background:var(--soft);min-height:260px}.gw-post-card h2{font-size:23px}.gw-post-card time{font-size:11px;color:#777}
@media(max-width:960px){.gw-nav{display:none;position:absolute;left:0;right:0;top:82px;background:#0b0b0b;border-bottom:1px solid var(--line)}.gw-nav.is-open{display:block}.gw-nav ul{display:block;padding:18px var(--pad)}.gw-nav li{padding:11px 0;border-bottom:1px solid rgba(255,255,255,.07)}.gw-menu-toggle{display:block}.gw-lang{display:none}.gw-section-head,.gw-manifesto{grid-template-columns:1fr}.gw-grid-4{grid-template-columns:1fr 1fr}.gw-projects{grid-template-columns:1fr}.gw-project:nth-child(1){grid-row:auto;min-height:520px}.gw-post-list{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.gw-header-inner{height:72px}.gw-nav{top:72px}.gw-grid-4,.gw-post-list{grid-template-columns:1fr}.gw-contact-strip{align-items:flex-start;flex-direction:column}.gw-brand-text span{display:none}.gw-hero{min-height:78vh}}

/* v1.1 homepage project polish */
.gw-project-image{transition:transform .6s ease,filter .6s ease}
.gw-project:hover .gw-project-image{transform:scale(1.025);filter:brightness(1.05)}
.gw-project-copy{transition:transform .3s ease}
.gw-project:hover .gw-project-copy{transform:translateY(-4px)}


/* v1.2 Projects page */
.gw-projects-hero{padding:110px 0 54px;border-bottom:1px solid var(--line)}
.gw-projects-hero h1{font-size:clamp(54px,7vw,98px);line-height:.95;margin:10px 0 22px;letter-spacing:-.04em}
.gw-projects-hero p{max-width:720px;color:#aaa;font-size:18px}
.gw-filters{display:flex;gap:12px;flex-wrap:wrap;padding:28px 0;border-bottom:1px solid var(--line)}
.gw-filter-btn{border:1px solid var(--line);background:transparent;color:#bbb;padding:10px 16px;font-size:12px;cursor:pointer}
.gw-filter-btn.is-active,.gw-filter-btn:hover{background:#fff;color:#111}
.gw-project-wall{display:grid;grid-template-columns:repeat(12,1fr);gap:1px;background:var(--line);margin-top:1px}
.gw-project-item{position:relative;min-height:360px;background:#111;overflow:hidden}
.gw-project-item.large{grid-column:span 8;min-height:560px}
.gw-project-item.small{grid-column:span 4}
.gw-project-item.medium{grid-column:span 6}
.gw-project-item .gw-project-image{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .6s ease}
.gw-project-item:hover .gw-project-image{transform:scale(1.025)}
.gw-project-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.88))}
.gw-project-meta{position:absolute;left:26px;right:26px;bottom:24px;z-index:2}
.gw-project-meta small{display:block;color:#c9c9c5;letter-spacing:.14em;margin-bottom:7px}
.gw-project-meta h2{font-size:28px;margin:0}
.gw-project-meta p{margin:8px 0 0;color:#bbb;max-width:620px;font-size:14px}
.gw-project-item[hidden]{display:none!important}
@media(max-width:900px){
  .gw-project-item.large,.gw-project-item.small,.gw-project-item.medium{grid-column:span 12}
  .gw-project-item{min-height:420px!important}
}


/* ===== v1.3 Homepage refinement ===== */

/* Hero: preserve more of the real exhibition photo on desktop */
@media (min-width: 1100px){
  .gw-hero{
    min-height:min(900px, calc(100vh - 82px));
  }
  .gw-hero-bg{
    background-position:center 44%;
  }
  .gw-hero-inner{
    padding-top:140px;
    padding-bottom:92px;
  }
}

/* Mobile crop handled separately */
@media (max-width: 1099px){
  .gw-hero-bg{
    background-position:58% center;
  }
}

/* Make service cards feel less static */
.gw-card{
  transition:transform .3s ease, background-color .3s ease;
}
.gw-card:hover{
  transform:translateY(-4px);
  background:#191919;
}
.gw-section-light .gw-card:hover{
  background:#fafafa;
}

/* About block containment */
.gw-manifesto{
  overflow:hidden;
}
.gw-manifesto > div:last-child{
  min-width:0;
  max-width:820px;
}
.gw-manifesto p{
  max-width:760px;
}

/* Homepage closing CTA */
.gw-final-cta{
  padding:clamp(88px,10vw,150px) 0;
  border-top:1px solid var(--line);
  background:#0b0b0b;
}
.gw-final-cta-inner{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:60px;
  align-items:end;
}
.gw-final-cta h2{
  font-size:clamp(42px,5.6vw,78px);
  line-height:1.02;
  letter-spacing:-.04em;
  margin:12px 0 0;
}
.gw-final-cta-copy{
  max-width:560px;
}
.gw-final-cta-copy p{
  color:#aaa;
  font-size:18px;
  margin:0 0 26px;
}

/* Footer polish */
.gw-footer{
  padding:34px 0 42px;
  background:#090909;
}
.gw-footer-inner{
  align-items:center;
}
.gw-footer-brand{
  color:#ddd;
  letter-spacing:.04em;
}
.gw-footer-meta{
  color:#777;
  text-align:right;
}

@media(max-width:900px){
  .gw-final-cta-inner{
    grid-template-columns:1fr;
    gap:30px;
  }
  .gw-footer-meta{
    text-align:left;
  }
}


/* ===== v1.4 Hero composition refinement ===== */
/* Desktop: show more of the real exhibition photo without changing layout */
@media (min-width: 1100px){
  .gw-hero{
    background-color:#0b0b0b;
  }
  .gw-hero-bg{
    background-size:90% auto;
    background-repeat:no-repeat;
    background-position:62% 48%;
    opacity:1;
  }
}

/* Large desktop screens */
@media (min-width: 1500px){
  .gw-hero-bg{
    background-size:88% auto;
    background-position:64% 48%;
  }
}

/* Keep mobile/tablet behavior unchanged */
@media (max-width: 1099px){
  .gw-hero-bg{
    background-size:cover;
    background-position:58% center;
  }
}


/* ===== v2.0 Complete site pages ===== */
.gw-subhero{padding:110px 0 72px;border-bottom:1px solid var(--line)}
.gw-subhero h1{font-size:clamp(50px,7vw,92px);line-height:.98;letter-spacing:-.04em;margin:10px 0 22px}
.gw-subhero p{max-width:820px;color:#aaa;font-size:18px}
.gw-two-col{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}
.gw-three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
.gw-panel{background:var(--soft);padding:34px}
.gw-panel h3{font-size:25px;margin:0 0 14px}.gw-panel p{color:#aaa}
.gw-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.gw-list li{padding:15px 0;border-bottom:1px solid var(--line);color:#c9c9c5}
.gw-big-number{font-size:80px;line-height:1;color:#222;font-weight:700}
.gw-process{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line)}
.gw-process-step{background:#101010;padding:28px;min-height:220px}
.gw-process-step span{color:var(--red);font-size:11px;letter-spacing:.15em}
.gw-process-step h3{font-size:21px;margin:50px 0 10px}.gw-process-step p{color:#888;font-size:14px}
.gw-service-band{padding:70px 0;border-top:1px solid var(--line)}
.gw-service-band-grid{display:grid;grid-template-columns:120px 1fr 1fr;gap:40px;align-items:start}
.gw-service-band h2{font-size:40px;margin:0}.gw-service-band p{color:#aaa;margin:0}
.gw-case{padding:90px 0;border-top:1px solid var(--line)}
.gw-case-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:1px;background:var(--line)}
.gw-case-media{min-height:560px;background-size:cover;background-position:center}
.gw-case-copy{background:#101010;padding:54px}
.gw-case-copy h2{font-size:42px;line-height:1.08;margin:12px 0 20px}
.gw-case-copy p{color:#aaa}
.gw-case-meta{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:34px}
.gw-case-meta div{border-top:1px solid var(--line);padding-top:12px;color:#999;font-size:13px}
.gw-quote{font-size:clamp(34px,4.6vw,64px);line-height:1.08;letter-spacing:-.03em;margin:0}
.gw-cap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}
.gw-cap{background:#111;padding:30px;min-height:230px}.gw-cap h3{font-size:21px;margin:50px 0 12px}.gw-cap p{color:#888;font-size:14px}
.gw-contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}
.gw-contact-card{border-top:1px solid var(--line);padding:22px 0}
.gw-contact-card strong{display:block;font-size:18px;margin-bottom:6px}.gw-contact-card span{color:#888}
.gw-inquiry{background:#111;padding:38px}
.gw-inquiry h2{font-size:34px;margin:0 0 16px}.gw-inquiry p{color:#aaa}
.gw-inquiry .gw-list li{display:flex;gap:12px}
.gw-insights-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:36px}
.gw-insight-empty{border:1px solid var(--line);padding:44px;color:#999}
.gw-project-wall a{display:block}
@media(max-width:1000px){
 .gw-two-col,.gw-contact-grid,.gw-case-grid{grid-template-columns:1fr}
 .gw-three-col,.gw-cap-grid{grid-template-columns:1fr 1fr}
 .gw-process{grid-template-columns:1fr 1fr}
 .gw-service-band-grid{grid-template-columns:80px 1fr}
 .gw-service-band-grid>p{grid-column:2}
}
@media(max-width:640px){
 .gw-three-col,.gw-cap-grid,.gw-process{grid-template-columns:1fr}
 .gw-service-band-grid{grid-template-columns:1fr}
 .gw-service-band-grid>p{grid-column:auto}
 .gw-case-copy{padding:30px}
 .gw-case-media{min-height:360px}
}


/* ===== v2.1 Launch polish ===== */

/* Navigation bilingual treatment */
.gw-nav a{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  line-height:1.15;
  gap:3px;
}
.gw-nav .gw-nav-en{
  display:block;
  font-size:9px;
  letter-spacing:.12em;
  color:#666;
  font-weight:500;
}
.gw-nav a:hover .gw-nav-en,
.gw-nav .current-menu-item>a .gw-nav-en{
  color:#9a9a96;
}

/* Header refinement */
.gw-header-inner{height:86px}
.gw-brand-text b{font-size:16px;letter-spacing:.01em}
.gw-brand-text span{font-size:9px;letter-spacing:.16em}

/* Hero typography polish */
.gw-hero h1{
  font-size:clamp(46px,4.9vw,76px);
  max-width:1180px;
}
.gw-hero h1 span{
  font-size:.39em;
}
.gw-lead{
  font-size:clamp(15px,1.25vw,19px);
  line-height:1.8;
}

/* Project overlays stronger and text always readable */
.gw-project::after,
.gw-project-item::after{
  background:linear-gradient(180deg,rgba(0,0,0,.02) 35%,rgba(0,0,0,.86) 100%);
}
.gw-project-copy h3,
.gw-project-meta h2{
  color:#fff;
  text-shadow:0 2px 14px rgba(0,0,0,.35);
}
.gw-project-copy small,
.gw-project-meta small{
  color:#e5e5e2;
}

/* Services title spacing */
.gw-card h3{
  margin-top:58px;
}

/* CTA button motion */
.gw-btn{
  transition:transform .2s ease,background-color .2s ease,border-color .2s ease;
}
.gw-btn:hover{
  transform:translateY(-2px);
}

/* Contact and content page rhythm */
.gw-subhero{
  padding-top:125px;
}
.gw-subhero p{
  line-height:1.85;
}

/* Footer */
.gw-footer{
  border-top:1px solid rgba(255,255,255,.08);
}
.gw-footer-meta{
  max-width:820px;
}

/* Keep logged-in admin toolbar from visually interfering */
.admin-bar .gw-header{top:32px}
@media(max-width:782px){
  .admin-bar .gw-header{top:46px}
}

/* Mobile nav typography */
@media(max-width:960px){
  .gw-nav a{
    flex-direction:row;
    align-items:baseline;
    gap:10px;
  }
  .gw-nav .gw-nav-en{
    font-size:9px;
  }
}


/* ===== v2.2 Full-site final polish ===== */

/* Hero: soften the side edges caused by showing more of the original photo */
.gw-hero{
  background:
    linear-gradient(90deg,rgba(0,0,0,.84) 0%,rgba(0,0,0,.52) 36%,rgba(0,0,0,.18) 72%,rgba(0,0,0,.36) 100%),
    #111;
}
.gw-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(90deg,#0b0b0b 0%,transparent 8%,transparent 92%,#0b0b0b 100%);
}
.gw-hero-bg{z-index:0}
.gw-hero-inner{z-index:2}

/* More restrained desktop title */
@media(min-width:1100px){
  .gw-hero h1{font-size:clamp(50px,4.6vw,72px)}
}

/* ===== GUANWEI STUDIO V5.8 — exact approved homepage concept ===== */
.gw-concept-home{display:none}
@media(min-width:1100px){
  .home .gw-header{display:none}
  .gw-concept-home{
    display:block;
    position:relative;
    width:100%;
    background:#070909;
    overflow:hidden;
  }
  .gw-concept-home img{
    display:block;
    width:100%;
    height:auto;
  }
  .home .gw-concept-home + .gw-hero{display:none}
  .gw-concept-link{
    position:absolute;
    z-index:3;
    display:block;
    background:transparent;
  }
  .gw-cl-home{left:24.4%;top:3.2%;width:4.5%;height:10%}
  .gw-cl-about{left:31.0%;top:3.2%;width:6.2%;height:10%}
  .gw-cl-services{left:39.1%;top:3.2%;width:6.4%;height:10%}
  .gw-cl-projects{left:47.1%;top:3.2%;width:6.4%;height:10%}
  .gw-cl-partners{left:55.0%;top:3.2%;width:6.8%;height:10%}
  .gw-cl-news{left:63.3%;top:3.2%;width:6.8%;height:10%}
  .gw-cl-contact{left:71.3%;top:3.2%;width:6.8%;height:10%}
  .gw-cl-project-button{left:.8%;top:68.7%;width:13.5%;height:8.8%}
  .gw-cl-contact-button{left:15.5%;top:68.7%;width:10%;height:8.8%}
}

/* ===== GUANWEI STUDIO V5.9 — approved concept rebuilt with live type ===== */
.gw-hero-en,.gw-hero-services{display:none}
@media(min-width:1100px){
  .home .gw-header{display:block;position:relative;background:#070909;backdrop-filter:none}
  .home .gw-header-inner{height:82px}
  .home .gw-concept-home{display:none}
  .home .gw-hero{
    display:flex;
    height:clamp(455px,37.57vw,650px);
    min-height:0;
    align-items:stretch;
    background:#070909;
  }
  .home .gw-hero::after{
    background:linear-gradient(90deg,#070909 0 15%,rgba(7,9,9,.78) 19%,rgba(7,9,9,.20) 24%,rgba(7,9,9,.07) 30%,rgba(7,9,9,.03) 40%,rgba(0,0,0,.02) 100%);
  }
  .home .gw-hero-bg{
    inset:0;
    width:auto;
    background-size:cover;
    background-repeat:no-repeat;
    background-position:center 52%;
    opacity:1;
  }
  .home .gw-hero-inner{
    width:100%;
    max-width:none;
    padding:clamp(52px,8.2vw,116px) 0 0 max(10px,.72vw);
    margin:0;
  }
  .home .gw-kicker{font-size:14px;letter-spacing:.31em;margin-bottom:12px}
  .home .gw-hero h1{
    width:29%;
    max-width:none;
    margin:0 0 16px;
    font-size:clamp(38px,3.5vw,58px);
    line-height:1.15;
    letter-spacing:-.045em;
  }
  .home .gw-lead{width:29%;margin:0 0 4px;font-size:clamp(15px,1.38vw,21px);line-height:1.55;color:#eee}
  .home .gw-hero-en{display:block;width:26%;margin:0 0 28px;color:#b8b8b8;font-size:clamp(12px,1.08vw,16px);line-height:1.45}
  .home .gw-actions{gap:18px}
  .home .gw-actions .gw-btn{height:52px;padding:0 16px;text-align:left;justify-content:space-between;gap:28px}
  .home .gw-actions .gw-btn-primary{width:190px}
  .home .gw-actions .gw-btn:not(.gw-btn-primary){width:138px}
  .home .gw-actions .gw-btn span{font-size:14px;line-height:1.05}
  .home .gw-actions .gw-btn small{display:block;margin-top:6px;font-size:9px;font-weight:400}
  .home .gw-actions .gw-btn b{font-size:20px;font-weight:400}
  .home .gw-hero-services{
    display:flex;
    position:absolute;
    left:max(10px,.72vw);
    bottom:clamp(22px,3.8vw,58px);
    gap:0;
  }
  .home .gw-hero-services>div{min-width:188px;padding-right:24px;margin-right:24px;border-right:1px solid rgba(255,255,255,.5);font-size:14px;white-space:nowrap}
  .home .gw-hero-services>div:last-child{border-right:0}
  .home .gw-hero-services small{display:block;color:#bbb;font-size:11px;margin-top:3px}
}

/* Page cards and long-form readability */
.gw-content .entry-content,
.gw-case-copy,
.gw-inquiry{
  font-size:16px;
}
.gw-content p,
.gw-case-copy p,
.gw-inquiry p{
  line-height:1.9;
}

/* Consistent section labels */
.gw-eyebrow{
  text-transform:uppercase;
  letter-spacing:.2em;
}

/* Contact detail rows */
.gw-contact-value{
  font-size:16px;
  color:#d6d6d2;
}
.gw-contact-value a{
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.18);
}
.gw-contact-value a:hover{
  border-bottom-color:#fff;
}

/* Footer layout can carry contact data once configured */
.gw-footer-contact{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  color:#777;
  font-size:11px;
}
.gw-footer-contact span+span::before{
  content:"·";
  margin-right:18px;
  color:#444;
}

/* Small-screen refinements */
@media(max-width:640px){
  .gw-subhero{padding-top:90px;padding-bottom:54px}
  .gw-subhero h1{font-size:46px}
  .gw-hero-inner{padding-top:100px;padding-bottom:62px}
  .gw-hero h1{font-size:44px;line-height:1.02}
  .gw-hero h1 span{font-size:.44em;line-height:1.3}
  .gw-actions{gap:8px}
  .gw-btn{width:100%}
  .gw-project-copy h3,.gw-project-meta h2{font-size:23px}
  .gw-footer-inner{display:block}
  .gw-footer-meta{margin-top:12px}
}


/* ===== GUANWEI STUDIO V3.0 FINAL ===== */
:root{--gw-red:#c91f26}
.gw-header{box-shadow:0 1px 0 rgba(255,255,255,.05)}
.gw-nav a{transition:opacity .2s ease,color .2s ease}
.gw-nav a:hover{opacity:.72}
.gw-btn{transition:transform .18s ease,background .18s ease,border-color .18s ease}
.gw-btn:hover{transform:translateY(-1px)}
.gw-btn-primary:hover{background:#ad171d}
.gw-project-card,.gw-card{transition:transform .25s ease}
.gw-project-card:hover,.gw-card:hover{transform:translateY(-2px)}
img{max-width:100%;height:auto}
@media(max-width:860px){
  .gw-header-inner{min-height:70px}
  .gw-brand-text span{display:none}
  .gw-hero{min-height:660px}
  .gw-hero-bg{object-position:62% center}
}


/* ===== GUANWEI STUDIO V3.1 — content polish ===== */

/* Services: stronger editorial rhythm */
.gw-services-intro{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:80px;
  align-items:end;
}
.gw-services-intro h1{
  margin-bottom:0;
}
.gw-services-intro-copy{
  max-width:660px;
  color:#a9a9a5;
  font-size:18px;
  line-height:1.85;
}
.gw-service-band{
  position:relative;
  overflow:hidden;
}
.gw-service-band::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.018),transparent 45%);
}
.gw-service-band-grid{
  position:relative;
}
.gw-service-band h2{
  font-size:clamp(30px,3vw,46px);
  line-height:1.1;
  letter-spacing:-.035em;
}
.gw-service-band p{
  font-size:16px;
  line-height:1.9;
}
.gw-service-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:22px;
}
.gw-service-tag{
  border:1px solid rgba(255,255,255,.13);
  padding:7px 10px;
  color:#8b8b87;
  font-size:11px;
  letter-spacing:.08em;
}
.gw-workflow-note{
  max-width:720px;
  margin-top:18px;
  color:#777;
  font-size:13px;
  line-height:1.75;
}

/* Project page: cleaner unfinished categories */
.gw-project-placeholder .gw-project-image{
  display:flex;
  align-items:flex-end;
  padding:28px;
}
.gw-project-placeholder .gw-project-image::after{
  content:"PROJECT ARCHIVE IN PROGRESS";
  color:#555;
  letter-spacing:.16em;
  font-size:10px;
}

/* About page */
.gw-about-principle{
  margin-top:30px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.1);
  color:#82827e;
  font-size:14px;
  line-height:1.8;
}

/* Contact: prevent awkward single-character wrap */
.gw-contact-hero-title{
  font-size:clamp(54px,6.2vw,96px);
  line-height:.95;
  letter-spacing:-.055em;
  max-width:900px;
  text-wrap:balance;
}

/* Footer */
.gw-footer{
  padding-top:38px;
  padding-bottom:38px;
}

/* Better mobile composition */
@media(max-width:900px){
  .gw-services-intro{
    grid-template-columns:1fr;
    gap:28px;
  }
}
@media(max-width:640px){
  .gw-service-band-grid{
    gap:20px;
  }
  .gw-service-band h2{
    font-size:30px;
  }
  .gw-contact-hero-title{
    font-size:48px;
    line-height:1;
  }
  .gw-service-tags{
    margin-top:16px;
  }
}


/* ===== GUANWEI STUDIO V4.0 FINAL ===== */
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{
  outline:2px solid #c91d22;outline-offset:3px
}
.gw-container{width:min(1320px,calc(100% - 64px))}
.gw-section,.gw-subhero{scroll-margin-top:100px}
.gw-btn{transition:transform .2s ease,background-color .2s ease,border-color .2s ease}
.gw-btn:hover{transform:translateY(-1px)}
.gw-project,.gw-card{transition:transform .25s ease,border-color .25s ease}
.gw-project:hover,.gw-card:hover{transform:translateY(-3px)}
.gw-project-image{background-position:center;background-size:cover}
.gw-service-tag{white-space:nowrap}
.gw-final-cta-inner{align-items:center}

/* keep the premium desktop composition but make it safer on smaller screens */
@media(max-width:1100px){
  .gw-container{width:min(100% - 40px,1320px)}
}
@media(max-width:760px){
  .gw-container{width:calc(100% - 32px)}
  .gw-section{padding-top:72px;padding-bottom:72px}
  .gw-subhero{padding-top:90px;padding-bottom:72px}
  .gw-section-head{gap:24px}
  .gw-projects{gap:16px}
  .gw-final-cta-inner{gap:28px}
}
@media(max-width:480px){
  .gw-container{width:calc(100% - 24px)}
  .gw-btn{width:100%;justify-content:center;text-align:center}
}

/* ===== GUANWEI STUDIO V4.1 — launch hardening ===== */
.gw-menu-toggle,.gw-filter-btn{font-family:inherit}
.gw-menu-toggle{cursor:pointer}
.gw-footer a:hover{color:#d7d7d2}
.gw-featured-case{padding-bottom:clamp(90px,10vw,150px)}
.gw-case-facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);margin-top:34px}
.gw-case-facts div{background:#101010;padding:18px}
.gw-case-facts span{display:block;color:#666;font-size:9px;letter-spacing:.16em;margin-bottom:5px}
.gw-case-facts strong{font-size:13px;font-weight:500;color:#d2d2ce}
.gw-case-story{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:clamp(70px,8vw,110px) 0}
.gw-case-story h3{font-size:clamp(32px,4vw,56px);line-height:1.08;letter-spacing:-.035em;margin:12px 0 0}
.gw-case-story p{color:#aaa;font-size:17px;line-height:1.9;margin:0}
.gw-case-gallery{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.gw-case-gallery figure{margin:0;background:#111;overflow:hidden}
.gw-case-gallery .gw-gallery-wide{grid-column:1/-1}
.gw-case-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .5s ease}
.gw-case-gallery .gw-gallery-wide img{aspect-ratio:16/8.5}
.gw-case-gallery figure:hover img{transform:scale(1.012)}
.gw-case-gallery figcaption{padding:12px 4px 20px;color:#777;font-size:11px;letter-spacing:.06em}
.gw-case-challenges{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:clamp(70px,8vw,110px)}
.gw-case-challenges article{background:#101010;padding:32px;min-height:280px}
.gw-case-challenges span{color:var(--red);font-size:11px;letter-spacing:.16em}
.gw-case-challenges h3{font-size:22px;margin:60px 0 12px}
.gw-case-challenges p{color:#888;font-size:14px;line-height:1.8}
.gw-case-conclusion{max-width:900px;margin:clamp(80px,10vw,140px) auto 0;text-align:center}
.gw-case-conclusion blockquote{font-size:clamp(38px,5vw,70px);line-height:1.05;letter-spacing:-.04em;margin:16px 0 28px}
.gw-case-conclusion p{color:#888;font-size:17px;line-height:1.9}
@media(max-width:800px){
  .gw-case-story{grid-template-columns:1fr;gap:28px}
  .gw-case-gallery{grid-template-columns:1fr}
  .gw-case-gallery .gw-gallery-wide{grid-column:auto}
  .gw-case-gallery .gw-gallery-wide img,.gw-case-gallery img{aspect-ratio:4/3}
  .gw-case-challenges{grid-template-columns:1fr}
  .gw-case-challenges article{min-height:auto}
  .gw-case-challenges h3{margin-top:36px}
}

/* ===== GUANWEI STUDIO V5.1 — identity and hero framing ===== */
.gw-brand-seal{width:42px;height:42px;object-fit:contain;flex:0 0 42px}
@media(min-width:1100px){
  .gw-hero-bg{
    background-size:cover;
    background-position:58% center;
  }
  .gw-hero::after{
    background:linear-gradient(90deg,#0b0b0b 0%,rgba(11,11,11,.78) 11%,rgba(11,11,11,.36) 34%,transparent 70%,rgba(11,11,11,.18) 100%);
  }
}
@media(max-width:640px){
  .gw-brand-seal{width:36px;height:36px;flex-basis:36px}
}

/* ===== GUANWEI STUDIO V5.2 — full equipment hero view ===== */
@media(min-width:1100px){
  .gw-hero-bg{
    background-size:88% auto;
    background-position:64% 48%;
    background-repeat:no-repeat;
  }
  .gw-hero::after{
    background:linear-gradient(90deg,#0b0b0b 0%,rgba(11,11,11,.72) 9%,rgba(11,11,11,.38) 30%,rgba(11,11,11,.06) 72%,rgba(11,11,11,.18) 100%);
  }
}

/* ===== GUANWEI STUDIO V5.6 — cinematic homepage composition ===== */
@media(min-width:1100px){
  .gw-hero{
    min-height:calc(100vh - 82px);
    align-items:center;
  }
  .gw-hero-bg{
    background-size:100% auto;
    background-position:center 48%;
  }
  .gw-hero::after{
    background:linear-gradient(90deg,rgba(5,5,5,.96) 0%,rgba(5,5,5,.86) 19%,rgba(5,5,5,.48) 38%,rgba(5,5,5,.08) 68%,rgba(5,5,5,.12) 100%);
  }
  .gw-hero-inner{
    width:calc(100% - clamp(64px,10vw,190px));
    max-width:none;
    margin-left:clamp(32px,5.5vw,110px);
    margin-right:0;
    padding:88px 0 62px;
  }
  .gw-hero h1{
    width:min(620px,42vw);
    max-width:620px;
    font-size:clamp(48px,3.8vw,62px);
    line-height:1.08;
    letter-spacing:-.045em;
    margin-bottom:22px;
  }
  .gw-hero h1 span{
    max-width:510px;
    font-size:.36em;
    line-height:1.35;
    margin-top:16px;
  }
  .gw-lead{
    max-width:650px;
    font-size:17px;
    line-height:1.85;
    margin-bottom:28px;
  }
  .gw-actions .gw-btn{
    min-height:48px;
    padding-left:24px;
    padding-right:24px;
  }
}
@media(min-width:1500px){
  .gw-hero h1{width:680px;max-width:680px}
}

/* ===== GUANWEI STUDIO V5.7 — reference-ratio panoramic hero ===== */
@media(min-width:1100px){
  .gw-hero{
    min-height:0;
    height:clamp(520px,37.6vw,780px);
    align-items:center;
  }
  .gw-hero-bg{
    background-size:cover;
    background-position:center center;
  }
  .gw-hero::after{
    background:linear-gradient(90deg,rgba(3,3,3,.88) 0%,rgba(3,3,3,.76) 20%,rgba(3,3,3,.36) 37%,rgba(3,3,3,.04) 64%,rgba(3,3,3,.08) 100%);
  }
  .gw-hero-inner{
    width:calc(100% - 48px);
    margin-left:clamp(18px,2.2vw,44px);
    padding:42px 0 30px;
  }
  .gw-hero h1{
    width:min(520px,31vw);
    max-width:520px;
    font-size:clamp(46px,3.7vw,60px);
    line-height:1.08;
    margin-bottom:20px;
  }
  .gw-hero h1 span{
    max-width:430px;
    font-size:.34em;
    margin-top:14px;
  }
  .gw-lead{
    max-width:560px;
    font-size:16px;
    line-height:1.75;
    margin-bottom:24px;
  }
}
@media(max-width:520px){.gw-case-facts{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* ===== GUANWEI STUDIO V5.0 — final project archive ===== */
.gw-project-wall-final .gw-project-item.medium{grid-column:span 12;min-height:420px}
.gw-case-secondary{padding-top:clamp(90px,10vw,140px)}
.gw-case-secondary .gw-case-grid{margin-bottom:16px}
.gw-case-mini-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gw-case-mini-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#111}
.gw-case-note{display:grid;grid-template-columns:180px 1fr;gap:30px;border-top:1px solid var(--line);padding-top:28px;margin-top:36px}
.gw-case-note strong{color:var(--red);font-size:11px;letter-spacing:.14em}
.gw-case-note p{margin:0;color:#999;line-height:1.85}
.gw-projects-conclusion{padding:clamp(90px,11vw,150px) 0;text-align:center;border-top:1px solid var(--line)}
.gw-projects-conclusion .gw-container{max-width:900px}
.gw-projects-conclusion h2{font-size:clamp(42px,6vw,78px);line-height:1.05;margin:18px 0 24px}
.gw-projects-conclusion p{color:#888;font-size:17px;margin-bottom:32px}
@media(max-width:800px){
  .gw-project-wall-final .gw-project-item.medium{grid-column:auto;min-height:360px}
  .gw-case-mini-gallery{grid-template-columns:1fr}
  .gw-case-note{grid-template-columns:1fr;gap:12px}
}

/* ===== V5.11 MOBILE FINAL POLISH ===== */
@media (max-width:640px){

  .gw-header-inner{
    height:72px;
  }

  .home .gw-hero{
    min-height:680px;
  }

  .home .gw-hero-bg{
    background-position:47% center;
  }

  .home .gw-hero-inner{
    padding-top:72px;
    padding-bottom:38px;
  }

  .home .gw-hero h1{
    max-width:100%;
    font-size:38px;
    line-height:1.08;
    letter-spacing:-.045em;
    margin-bottom:20px;
  }

  .home .gw-lead{
    max-width:100%;
    font-size:16px;
    line-height:1.65;
    margin-bottom:12px;
  }

  .home .gw-hero-en{
    font-size:13px;
    line-height:1.45;
    margin-bottom:26px;
  }

  .home .gw-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }

  .home .gw-actions .gw-btn{
    width:100%;
    min-height:58px;
    padding:10px 18px;
  }

  .home .gw-actions .gw-btn span{
    line-height:1.25;
  }

  .home .gw-actions .gw-btn small{
    display:block;
    margin-top:4px;
    font-size:9px;
    letter-spacing:.04em;
  }

  .gw-section{
    padding:64px 0;
  }

  .gw-section-head{
    gap:22px;
    margin-bottom:32px;
  }

  .gw-section h2{
    font-size:38px;
    line-height:1.12;
  }

  .gw-section-intro{
    font-size:16px;
    line-height:1.75;
  }

  .gw-card{
    min-height:270px;
    padding:28px;
  }

  .gw-card h3{
    margin:44px 0 14px;
    font-size:25px;
  }

  .gw-final-cta{
    padding:68px 0;
  }

  .gw-final-cta h2{
    font-size:42px;
    line-height:1.08;
  }

  .gw-page-hero{
    padding:76px 0 50px;
  }

  .gw-content{
    padding:55px 0 80px;
  }
}
