:root {
  --ink:#1d1b1c;
  --ink-2:#2a2728;
  --paper:#f6f2ed;
  --paper-2:#eee8e2;
  --white:#fff;
  --pink:#b76d7e;
  --pink-deep:#8f4f60;
  --pink-soft:#d7a8b3;
  --line:rgba(29,27,28,.17);
  --line-light:rgba(255,255,255,.18);
  --shadow:0 22px 80px rgba(29,27,28,.13);
  --serif:"Songti SC","STSong","Noto Serif CJK SC",serif;
  --sans:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit}
.container{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.page-noise{position:fixed;inset:0;z-index:99;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E")}
.site-header{position:fixed;inset:0 0 auto;z-index:50;height:86px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;color:#fff;transition:.35s ease;border-bottom:1px solid transparent}
.site-header.scrolled{height:70px;background:rgba(29,27,28,.94);backdrop-filter:blur(16px);border-bottom-color:rgba(255,255,255,.12)}
.brand{display:flex;flex-direction:column;line-height:1}.brand-cn{font-family:var(--serif);font-size:24px;letter-spacing:.14em}.brand-en{font-size:9px;letter-spacing:.35em;margin-top:8px;opacity:.7}
.main-nav{display:flex;align-items:center;gap:30px;font-size:13px;letter-spacing:.08em}.main-nav a{position:relative}.main-nav a:not(.nav-contact)::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--pink-soft);transition:.25s}.main-nav a:hover::after{right:0}.nav-contact{border:1px solid rgba(255,255,255,.48);padding:10px 17px;border-radius:999px;transition:.25s}.nav-contact:hover{background:#fff;color:var(--ink)}
.menu-toggle{display:none;width:42px;height:42px;border:0;background:transparent;color:#fff;position:relative}.menu-toggle i{position:absolute;left:9px;width:24px;height:1px;background:currentColor;transition:.25s}.menu-toggle i:first-child{top:16px}.menu-toggle i:last-child{top:25px}.menu-toggle.open i:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-toggle.open i:last-child{transform:translateY(-4.5px) rotate(-45deg)}
.hero{min-height:100svh;position:relative;display:grid;align-items:center;color:#fff;overflow:hidden;background:var(--ink)}.hero-image{position:absolute;inset:0;background:url('../images/hero-reception.webp') center/cover no-repeat;transform:scale(1.04);animation:heroZoom 12s ease-out both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,14,15,.92) 0%,rgba(16,14,15,.72) 43%,rgba(16,14,15,.26) 72%,rgba(16,14,15,.54) 100%),linear-gradient(0deg,rgba(16,14,15,.66),transparent 48%)}.hero-content{position:relative;z-index:2;width:min(760px,90%);margin-left:max(6vw,calc((100vw - 1180px)/2));padding-top:76px}.kicker,.section-label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--pink);font-weight:700}.hero .kicker{color:#e2b8c2}.hero h1{font-family:var(--serif);font-size:clamp(58px,8vw,118px);line-height:.94;margin:25px 0 30px;font-weight:600;letter-spacing:-.04em}.hero h1 em{font-style:normal;color:var(--pink-soft)}.hero-copy{max-width:700px;font-size:18px;color:rgba(255,255,255,.78);line-height:1.9}.hero-actions{display:flex;gap:14px;margin-top:42px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 25px;border-radius:999px;font-size:13px;letter-spacing:.08em;transition:.25s}.btn-primary{background:var(--pink);color:#fff}.btn-primary:hover{background:#c7798b;transform:translateY(-2px)}.btn-line{border:1px solid rgba(255,255,255,.45);color:#fff}.btn-line:hover{background:#fff;color:var(--ink)}.hero-index{position:absolute;z-index:2;right:4vw;bottom:5vh;text-align:right}.hero-index span{display:block;font-family:var(--serif);font-size:68px;line-height:1;color:rgba(255,255,255,.16)}.hero-index b{font-size:9px;letter-spacing:.35em;color:rgba(255,255,255,.5)}.scroll-tip{position:absolute;z-index:2;left:4vw;bottom:5vh;font-size:9px;letter-spacing:.28em;display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.7)}.scroll-tip span{width:34px;height:1px;background:var(--pink-soft);animation:scrollPulse 1.8s infinite}@keyframes heroZoom{from{transform:scale(1.09)}to{transform:scale(1.02)}}@keyframes scrollPulse{0%,100%{transform:scaleX(.5);transform-origin:left}50%{transform:scaleX(1)}}
.manifesto{position:relative;padding:150px 0 120px;background:var(--paper)}.section-rail{position:absolute;left:17px;top:150px;bottom:110px;display:flex;align-items:center;justify-content:space-between;writing-mode:vertical-rl;font-size:9px;letter-spacing:.34em;color:rgba(29,27,28,.35)}.section-rail b{font-family:var(--serif);font-size:34px;color:rgba(29,27,28,.12)}.about-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:100px;align-items:start}.about-title h2,.section-head h2,.detail-copy h2,.commercial-copy h2,.overseas-title h2,.workspace-heading h2,.studio-intro h2,.works-heading h2,.culture-heading h2,.contact h2{font-family:var(--serif);font-size:clamp(38px,5vw,66px);line-height:1.18;margin:18px 0 0;font-weight:600;letter-spacing:-.025em}.about-copy{padding-top:42px}.about-copy p{font-size:16px;color:#555052}.about-copy .lead{font-family:var(--serif);font-size:27px;color:var(--ink);line-height:1.65;margin-top:0}.capability-strip{display:grid;grid-template-columns:repeat(4,1fr);margin-top:95px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.capability{padding:28px 28px 32px;border-right:1px solid var(--line)}.capability:last-child{border-right:0}.capability span{font-family:var(--serif);color:var(--pink);font-size:18px}.capability h3{font-family:var(--serif);font-size:25px;margin:28px 0 6px}.capability p{font-size:12px;color:#696365;margin:0}.about-visuals{margin-top:95px;display:grid;grid-template-columns:.58fr 1.42fr;grid-template-rows:auto auto;gap:22px;position:relative}.about-visuals figure{margin:0;overflow:hidden}.about-visuals img{height:100%;object-fit:cover;transition:transform .8s}.about-visuals figure:hover img{transform:scale(1.035)}.visual-tall{grid-row:1/3;height:570px}.visual-wide{height:330px}.about-visuals blockquote{margin:0;align-self:end;padding:24px 0 6px 40px;font-family:var(--serif);font-size:32px;line-height:1.5;color:var(--pink-deep);border-left:1px solid var(--pink)}
.business{position:relative;padding:140px 0 0;background:var(--ink);color:#fff;overflow:hidden}.business-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(29,27,28,.96),rgba(29,27,28,.91)),url('../images/projects-overview.webp') center/cover;opacity:.9}.section-head{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:end}.section-head p:last-child{max-width:520px;color:#686164;margin:0}.section-head.light p:last-child{color:rgba(255,255,255,.62)}.section-head.light .section-label{color:#d7a8b3}.pillar-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border-top:1px solid var(--line-light);border-bottom:1px solid var(--line-light)}.pillar{min-height:360px;padding:35px 28px;display:flex;flex-direction:column;border-right:1px solid var(--line-light);transition:.35s}.pillar:last-child{border-right:0}.pillar:hover{background:rgba(183,109,126,.16);transform:translateY(-7px)}.pillar>span{font-family:var(--serif);font-size:35px;color:rgba(255,255,255,.28)}.pillar small{font-size:9px;letter-spacing:.18em;color:var(--pink-soft);margin-top:38px}.pillar h3{font-family:var(--serif);font-size:27px;margin:14px 0}.pillar p{font-size:13px;color:rgba(255,255,255,.58)}.pillar a{margin-top:auto;font-size:12px;color:#fff}.pillar a::after{content:" →";color:var(--pink-soft)}.business-slogan{position:relative;margin-top:70px;padding:28px;text-align:center;background:var(--pink);font-family:var(--serif);font-size:20px;letter-spacing:.11em}
.service-detail{padding:145px 0;background:#f7f4ef}.detail-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:90px;align-items:center}.detail-intro{font-family:var(--serif);font-size:21px;color:#4b4648;max-width:690px;margin:30px 0 45px}.detail-list{border-top:1px solid var(--line)}.detail-list article{display:grid;grid-template-columns:58px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid var(--line)}.detail-list b{font-family:var(--serif);color:var(--pink);font-size:18px}.detail-list h3{font-family:var(--serif);font-size:20px;margin:0 0 5px}.detail-list p{font-size:13px;color:#686164;margin:0}.poster-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:end}.poster-pair figure{margin:0;position:relative;box-shadow:var(--shadow);overflow:hidden}.poster-pair figure:first-child{transform:translateY(-34px)}.poster-pair img{aspect-ratio:2/3;object-fit:cover;transition:transform .7s}.poster-pair figure:hover img{transform:scale(1.035)}.poster-pair figcaption{position:absolute;inset:auto 0 0;padding:35px 16px 14px;background:linear-gradient(transparent,rgba(0,0,0,.78));color:#fff;font-size:11px;letter-spacing:.12em}
.service-pair{display:grid;grid-template-columns:.9fr 1.1fr;min-height:780px;background:var(--pink)}.service-pair-image{background:linear-gradient(rgba(25,23,24,.2),rgba(25,23,24,.4)),url('../images/projects-overview.webp') center/cover}.service-panel{padding:110px max(6vw,calc((100vw - 1180px)/2)) 100px 7vw;color:#fff}.script-panel .section-label{color:#f1d6dc}.script-panel h2{font-family:var(--serif);font-size:clamp(40px,4.7vw,68px);line-height:1.2;margin:18px 0 28px}.script-panel>p{color:rgba(255,255,255,.78)}.process-tags{display:flex;flex-wrap:wrap;gap:9px;margin:38px 0}.process-tags span{border:1px solid rgba(255,255,255,.4);padding:8px 13px;border-radius:999px;font-size:11px}.script-panel ul{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.25)}.script-panel li{display:grid;grid-template-columns:150px 1fr;gap:25px;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.25)}.script-panel li b{font-family:var(--serif);font-size:18px}.script-panel li span{font-size:13px;color:rgba(255,255,255,.72)}
.commercial-wrap{padding:140px 0;background:#efe8e2}.commercial-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:95px;align-items:center}.commercial-art{height:650px;background:#c98798;overflow:hidden}.commercial-art img{height:100%;object-fit:cover;mix-blend-mode:multiply;filter:contrast(.9);opacity:.78}.commercial-copy h2{font-size:clamp(38px,4.5vw,62px)}.commercial-list{margin-top:50px}.commercial-list>div{display:grid;grid-template-columns:48px 1fr;column-gap:20px;padding:20px 0;border-top:1px solid var(--line)}.commercial-list>div:last-child{border-bottom:1px solid var(--line)}.commercial-list span{grid-row:1/3;font-family:var(--serif);font-size:19px;color:var(--pink)}.commercial-list h3{font-family:var(--serif);font-size:21px;margin:0}.commercial-list p{margin:5px 0 0;color:#686164;font-size:13px}
.overseas{padding:145px 0;background:var(--ink);color:#fff}.overseas-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.overseas-title .section-label{color:var(--pink-soft)}.overseas-badges{display:flex;align-items:center;gap:15px;margin-top:50px}.overseas-badges span{border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:10px 16px;font-size:12px}.overseas-badges i{font-style:normal;color:var(--pink)}.overseas-copy .lead{font-family:var(--serif);font-size:24px;line-height:1.65;color:rgba(255,255,255,.9);margin:10px 0 40px}.overseas-list{border-top:1px solid var(--line-light)}.overseas-list article{display:grid;grid-template-columns:46px 180px 1fr;gap:20px;align-items:start;padding:22px 0;border-bottom:1px solid var(--line-light)}.overseas-list b{font-family:var(--serif);color:var(--pink-soft)}.overseas-list h3{font-family:var(--serif);font-size:20px;margin:0}.overseas-list p{font-size:13px;color:rgba(255,255,255,.6);margin:0}.fit-projects{margin-top:28px;color:var(--pink-soft);font-size:13px}
.method{padding:145px 0;background:#fff}.method .section-head{align-items:start}.timeline{display:grid;grid-template-columns:repeat(6,1fr);margin-top:80px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.timeline article{padding:28px 18px 35px;border-right:1px solid var(--line);position:relative;min-height:170px}.timeline article:last-child{border-right:0}.timeline article::before{content:"";position:absolute;top:-5px;left:18px;width:9px;height:9px;border-radius:50%;background:var(--pink)}.timeline span{font-family:var(--serif);color:var(--pink)}.timeline h3{font-family:var(--serif);font-size:18px;margin:45px 0 0}.applicable{margin-top:25px;font-size:12px;color:#756d70;text-align:center;letter-spacing:.05em}
.workspace{padding:130px 0;background:#f2ede8}.workspace-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:70px}.workspace-heading .section-label,.workspace-heading h2{grid-column:1}.workspace-heading>p:last-child{grid-column:2;grid-row:1/3;align-self:end;color:#676062}.workspace-banner{margin-top:70px;height:min(35vw,470px);overflow:hidden}.workspace-banner img{height:100%;object-fit:cover;transition:transform .9s}.workspace-banner:hover img{transform:scale(1.025)}.workspace-values{display:grid;grid-template-columns:repeat(3,1fr);margin-top:40px}.workspace-values article{padding:22px 30px;border-right:1px solid var(--line);display:flex;flex-direction:column}.workspace-values article:last-child{border-right:0}.workspace-values b{font-family:var(--serif);font-size:23px}.workspace-values span{font-size:12px;color:#736b6d;margin-top:5px}
.studio-section{padding:135px 0;background:#fff}.studio-intro{text-align:center;max-width:820px}.studio-intro p:last-child{color:#6d6668}.studio-gallery{margin-top:70px;display:grid;grid-template-columns:1.2fr 1.2fr .8fr .6fr;height:420px;gap:8px}.studio-gallery figure{margin:0;overflow:hidden}.studio-gallery img{height:100%;object-fit:cover;transition:transform .7s}.studio-gallery figure:hover img{transform:scale(1.04)}
.works{position:relative;padding:145px 0;background:#211f20;color:#fff;overflow:hidden}.works-cover{position:absolute;inset:0 0 auto;height:470px;opacity:.22}.works-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(33,31,32,.15),#211f20)}.works-cover img{height:100%;object-fit:cover}.works-heading{position:relative;z-index:1;text-align:center;margin-bottom:100px}.works-heading .section-label{color:var(--pink-soft)}.project-list{position:relative;z-index:1;display:grid;gap:85px}.project-card{display:grid;grid-template-columns:390px 1fr;gap:75px;align-items:center;padding-bottom:80px;border-bottom:1px solid var(--line-light)}.project-card.reverse{grid-template-columns:1fr 390px}.project-card.reverse figure{grid-column:2}.project-card.reverse .project-copy{grid-column:1;grid-row:1}.project-card figure{margin:0;box-shadow:0 30px 100px rgba(0,0,0,.35);max-height:560px;overflow:hidden;background:#111}.project-card img{height:100%;max-height:560px;object-fit:cover;transition:transform .7s}.project-card figure:hover img{transform:scale(1.03)}.project-type{display:inline-block;color:var(--pink-soft);font-size:10px;letter-spacing:.16em;text-transform:uppercase}.project-copy h3{font-family:var(--serif);font-size:44px;margin:16px 0 10px}.project-copy h4{font-family:var(--serif);font-size:22px;line-height:1.55;color:#fff;margin:0 0 22px}.project-copy>p{color:rgba(255,255,255,.66);font-size:14px}.project-copy ul{padding-left:18px;color:rgba(255,255,255,.8);font-size:13px}.project-copy li::marker{color:var(--pink)}
.culture{padding:145px 0 120px;background:#f4eee9}.culture-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:100px}.culture-heading h2{font-size:clamp(38px,4.4vw,61px)}.culture-core{border-top:1px solid var(--line)}.culture-core article{padding:27px 0;border-bottom:1px solid var(--line)}.culture-core span{font-size:11px;color:var(--pink);font-weight:700}.culture-core h3{font-family:var(--serif);font-size:23px;margin:8px 0}.culture-core p{font-size:13px;color:#6f676a;margin:0}.values-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:90px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.values-grid article{padding:28px;border-right:1px solid var(--line)}.values-grid article:last-child{border-right:0}.values-grid span{font-family:var(--serif);color:var(--pink)}.values-grid h3{font-family:var(--serif);font-size:23px;margin:28px 0 9px}.values-grid p{font-size:12px;color:#6c6567}.culture-quote{text-align:center;font-family:var(--serif);font-size:24px;color:var(--pink-deep);margin:70px auto 0}
.contact{position:relative;padding:145px 0;background:var(--pink);color:#fff;overflow:hidden}.contact-bamboo{position:absolute;right:-10vw;top:-45%;width:65vw;height:155%;background:url('../images/bamboo-pink.webp') center/contain no-repeat;filter:brightness(0) invert(1);opacity:.10}.contact-content{position:relative;z-index:1;max-width:820px}.contact .section-label{color:#f5dce2}.contact h2{font-size:clamp(50px,7vw,92px);line-height:1.1}.contact-content>p:not(.section-label){max-width:650px;color:rgba(255,255,255,.76);font-size:16px}.mail-link{display:inline-flex;flex-direction:column;margin-top:45px;padding-bottom:9px;border-bottom:1px solid rgba(255,255,255,.5);font-family:var(--serif);font-size:30px}.mail-link span{font-family:var(--sans);font-size:9px;letter-spacing:.25em;margin-bottom:5px;color:rgba(255,255,255,.7)}
.site-footer{background:#171516;color:#fff;min-height:110px;padding:28px 4vw;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;border-top:1px solid rgba(255,255,255,.09)}.site-footer div{display:flex;flex-direction:column}.site-footer strong{font-family:var(--serif);letter-spacing:.13em}.site-footer span{font-size:8px;letter-spacing:.33em;color:rgba(255,255,255,.45)}.site-footer p{text-align:center;font-size:11px;color:rgba(255,255,255,.5)}.site-footer>a{text-align:right;font-size:11px;color:var(--pink-soft)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}
@media (max-width:1050px){
  .main-nav{gap:17px}.about-grid,.detail-grid,.overseas-grid,.culture-grid{gap:55px}.capability-strip,.pillar-grid{grid-template-columns:repeat(2,1fr)}.capability:nth-child(2),.pillar:nth-child(2){border-right:0}.capability:nth-child(-n+2),.pillar:nth-child(-n+2){border-bottom:1px solid var(--line)}.pillar:nth-child(-n+2){border-bottom-color:var(--line-light)}.timeline{grid-template-columns:repeat(3,1fr)}.timeline article:nth-child(3){border-right:0}.timeline article:nth-child(-n+3){border-bottom:1px solid var(--line)}.studio-gallery{grid-template-columns:1fr 1fr;height:auto}.studio-gallery figure{height:330px}.project-card,.project-card.reverse{grid-template-columns:320px 1fr;gap:50px}.project-card.reverse figure{grid-column:2}.project-card.reverse .project-copy{grid-column:1}.values-grid{grid-template-columns:repeat(2,1fr)}.values-grid article:nth-child(2){border-right:0}.values-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}
}
@media (max-width:820px){
  .container{width:min(100% - 32px,1180px)}.site-header{height:70px;padding:0 18px}.menu-toggle{display:block;z-index:2}.main-nav{position:fixed;inset:0;background:rgba(29,27,28,.98);display:flex;flex-direction:column;justify-content:center;gap:28px;font-size:18px;opacity:0;visibility:hidden;transform:translateY(-12px);transition:.3s}.main-nav.open{opacity:1;visibility:visible;transform:none}.nav-contact{margin-top:8px}.hero-content{margin-left:20px;width:calc(100% - 40px)}.hero h1{font-size:clamp(56px,17vw,85px)}.hero-copy{font-size:15px}.hero-index{display:none}.scroll-tip{left:20px}.manifesto,.business,.service-detail,.commercial-wrap,.overseas,.method,.workspace,.studio-section,.works,.culture,.contact{padding-top:100px;padding-bottom:90px}.section-rail{display:none}.about-grid,.section-head,.detail-grid,.commercial-grid,.overseas-grid,.culture-grid,.workspace-heading{grid-template-columns:1fr;gap:34px}.about-copy{padding-top:0}.about-copy .lead{font-size:22px}.capability-strip{grid-template-columns:1fr}.capability{border-right:0;border-bottom:1px solid var(--line)}.capability:last-child{border-bottom:0}.about-visuals{grid-template-columns:1fr}.visual-tall{grid-row:auto;height:390px}.visual-wide{height:250px}.about-visuals blockquote{padding-left:20px}.pillar-grid{grid-template-columns:1fr}.pillar{min-height:285px;border-right:0;border-bottom:1px solid var(--line-light)}.poster-pair{max-width:620px;margin:auto}.service-pair{grid-template-columns:1fr}.service-pair-image{height:420px}.service-panel{padding:75px 22px}.script-panel li{grid-template-columns:1fr;gap:4px}.commercial-art{height:430px}.overseas-list article{grid-template-columns:40px 1fr}.overseas-list p{grid-column:2}.timeline{grid-template-columns:repeat(2,1fr)}.timeline article:nth-child(2n){border-right:0}.timeline article:nth-child(3){border-right:1px solid var(--line)}.timeline article:nth-child(-n+4){border-bottom:1px solid var(--line)}.workspace-heading>p:last-child{grid-column:auto;grid-row:auto}.workspace-banner{height:320px}.workspace-values{grid-template-columns:1fr}.workspace-values article{border-right:0;border-bottom:1px solid var(--line);padding-inline:0}.studio-gallery{grid-template-columns:1fr 1fr}.studio-gallery figure{height:250px}.project-card,.project-card.reverse{grid-template-columns:1fr;gap:35px}.project-card.reverse figure,.project-card.reverse .project-copy{grid-column:auto;grid-row:auto}.project-card figure{width:min(100%,390px);justify-self:center}.project-copy h3{font-size:36px}.values-grid{grid-template-columns:1fr}.values-grid article{border-right:0;border-bottom:1px solid var(--line)}.site-footer{grid-template-columns:1fr;gap:12px;text-align:center}.site-footer div{align-items:center}.site-footer p,.site-footer>a{text-align:center;margin:0}
}
@media (max-width:520px){
  .hero-actions{flex-direction:column;align-items:stretch}.btn{width:100%}.about-title h2,.section-head h2,.detail-copy h2,.commercial-copy h2,.overseas-title h2,.workspace-heading h2,.studio-intro h2,.works-heading h2,.culture-heading h2{font-size:38px}.poster-pair{gap:8px}.poster-pair figure:first-child{transform:translateY(-15px)}.timeline{grid-template-columns:1fr}.timeline article,.timeline article:nth-child(3){border-right:0;border-bottom:1px solid var(--line)}.studio-gallery{grid-template-columns:1fr}.studio-gallery figure{height:260px}.project-copy h3{font-size:31px}.contact h2{font-size:50px}.mail-link{font-size:21px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-image{animation:none}.reveal{opacity:1;transform:none;transition:none}*{transition:none!important}}


/* ===== DREAM FACTORY opening sequence · refined V2 ===== */
.brand-intro{
  display:none;position:fixed;inset:0;z-index:1000;overflow:hidden;
  background:#f4eee9;color:#1d1b1c;isolation:isolate;contain:layout paint;
}
.play-intro body{overflow:hidden}
.play-intro .brand-intro{display:block;animation:introExit 4.05s linear both}
.play-intro .hero-image{animation-play-state:paused}
.play-intro .hero-content,.play-intro .hero-index,.play-intro .scroll-tip{opacity:0!important;transform:translateY(16px)!important}

.intro-grid{
  position:absolute;inset:-1px;z-index:0;
  background-image:linear-gradient(rgba(29,27,28,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(29,27,28,.07) 1px,transparent 1px);
  background-size:12.5vw 12.5vh;opacity:0;transform:scale(1.025);will-change:opacity,transform;
  animation:introGrid 2.55s .04s cubic-bezier(.2,.75,.25,1) both;
}
.intro-grid::before,.intro-grid::after{content:"";position:absolute;background:#b76d7e;opacity:.72}
.intro-grid::before{width:1px;height:0;left:25%;top:0;animation:introLineY .72s .12s cubic-bezier(.77,0,.18,1) forwards}
.intro-grid::after{height:1px;width:0;left:0;top:62.5%;animation:introLineX .72s .17s cubic-bezier(.77,0,.18,1) forwards}
.intro-edge{position:absolute;inset:18px;z-index:1;border:1px solid rgba(29,27,28,.11);opacity:0;animation:introMeta .45s .14s ease forwards;pointer-events:none}

.intro-meta{position:absolute;top:28px;z-index:9;font-size:9px;line-height:1;letter-spacing:.26em;font-weight:700;opacity:0;animation:introMeta .52s .08s ease forwards;white-space:nowrap}
.intro-meta-left{left:3.2vw}.intro-meta-right{right:3.2vw;text-align:right}

.intro-giant{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;justify-content:center;gap:clamp(12px,2.6vh,32px);pointer-events:none;padding-block:5vh}
.intro-word{height:clamp(132px,24vh,255px);overflow:hidden;white-space:nowrap;display:flex;align-items:center}
.intro-word span{
  position:relative;display:block;font-family:Arial,Helvetica,sans-serif;font-weight:900;
  font-size:clamp(98px,17.2vw,320px);line-height:.92;letter-spacing:-.065em;
  transform-origin:left center;will-change:transform,opacity,filter;backface-visibility:hidden;
  text-shadow:0 0 0 rgba(183,109,126,0);
}
.intro-word-dream{padding-left:3vw}.intro-word-factory{padding-left:12vw}
.intro-word span::before,.intro-word span::after,.intro-mark-cn::before,.intro-mark-cn::after,.intro-mark strong::before,.intro-mark strong::after{content:attr(data-text);position:absolute;inset:0;pointer-events:none;opacity:0}.intro-word span::before,.intro-mark-cn::before,.intro-mark strong::before{color:rgba(183,109,126,.8)}.intro-word span::after,.intro-mark-cn::after,.intro-mark strong::after{color:rgba(255,255,255,.35)}
.intro-word-dream span{transform:translate3d(0,118%,0) scaleX(.68);animation:introDream 1.08s .22s cubic-bezier(.16,1,.3,1) forwards,introWordLeave .54s 1.55s cubic-bezier(.55,.02,.8,.25) forwards,introGlitchWordA .44s 1.05s steps(2,end) both}
.intro-word-dream span::before{animation:introGhostA .44s 1.05s steps(2,end) both}.intro-word-dream span::after{animation:introGhostB .44s 1.05s steps(2,end) both}
.intro-word-factory span{transform:translate3d(0,-118%,0) scaleX(1.28);animation:introFactory 1.10s .31s cubic-bezier(.16,1,.3,1) forwards,introWordLeaveB .54s 1.58s cubic-bezier(.55,.02,.8,.25) forwards,introGlitchWordB .48s 1.34s steps(2,end) both}
.intro-word-factory span::before{animation:introGhostC .48s 1.34s steps(2,end) both}.intro-word-factory span::after{animation:introGhostD .48s 1.34s steps(2,end) both}

.intro-frame{
  position:absolute;z-index:4;overflow:hidden;opacity:0;background:#211f20;
  box-shadow:0 18px 55px rgba(29,27,28,.14);will-change:clip-path,opacity,transform;
  border:1px solid rgba(255,255,255,.42);clip-path:inset(0 100% 0 0);
}
.intro-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(183,109,126,.12),rgba(59,42,47,.32));mix-blend-mode:multiply;pointer-events:none}
.intro-frame img{width:100%;height:100%;object-fit:cover;filter:saturate(.68) contrast(1.03);transform:scale(1.045);will-change:transform}
.intro-frame small{position:absolute;left:9px;bottom:7px;z-index:2;color:#fff;font-size:6px;line-height:1;letter-spacing:.18em;font-weight:700;text-shadow:0 1px 8px rgba(0,0,0,.4);white-space:nowrap}
.intro-frame-a{left:4.2vw;top:16.5vh;width:clamp(125px,15.5vw,270px);height:clamp(112px,24vh,250px);animation:introFrameA .76s .79s cubic-bezier(.77,0,.18,1) both}
.intro-frame-b{right:4.6vw;top:12.5vh;width:clamp(140px,17vw,300px);height:clamp(130px,28vh,285px);animation:introFrameB .76s .94s cubic-bezier(.77,0,.18,1) both}
.intro-frame-c{left:29vw;bottom:7.5vh;width:clamp(130px,16vw,280px);height:clamp(115px,24vh,245px);animation:introFrameC .72s 1.08s cubic-bezier(.77,0,.18,1) both}
.intro-frame-d{right:20vw;bottom:8.5vh;width:clamp(120px,14vw,245px);height:clamp(110px,22vh,225px);animation:introFrameD .72s 1.20s cubic-bezier(.77,0,.18,1) both}

.intro-mark{
  position:absolute;inset:0;z-index:10;margin:auto;width:min(560px,82vw);height:max-content;
  text-align:center;display:flex;flex-direction:column;align-items:center;
  opacity:0;transform:translate3d(0,22px,0) scale(.985);will-change:transform,opacity;
  animation:introMark 1.05s 1.72s cubic-bezier(.16,1,.3,1) forwards;
}
.intro-mark::before{content:"";position:absolute;inset:-38px -58px;background:rgba(244,238,233,.77);filter:blur(22px);z-index:-1;border-radius:50%}
.intro-mark-cn{position:relative;font-family:var(--serif);font-size:clamp(36px,5vw,72px);font-weight:600;letter-spacing:.15em;margin-left:.15em;white-space:nowrap;animation:introMarkGlitch .34s 2.02s steps(2,end) both}
.intro-mark-en{font-size:9px;letter-spacing:.52em;font-weight:700;margin-top:8px;margin-left:.52em;white-space:nowrap}
.intro-mark i{display:block;width:0;height:1px;background:#b76d7e;margin:19px 0 17px;animation:introRule .7s 1.95s cubic-bezier(.16,1,.3,1) forwards}
.intro-mark strong{position:relative;font-family:var(--serif);font-size:clamp(15px,1.55vw,22px);font-weight:500;letter-spacing:.28em;margin-left:.28em;color:#8f4f60;white-space:nowrap;animation:introTaglineGlitch .26s 2.18s steps(2,end) both}

.intro-count{position:absolute;left:3.2vw;bottom:29px;z-index:9;display:flex;align-items:flex-end;gap:10px;opacity:0;animation:introMeta .52s .12s ease forwards}
.intro-count span{font-family:var(--serif);font-size:38px;line-height:.8;color:#b76d7e}.intro-count b{font-size:8px;letter-spacing:.28em;opacity:.48;white-space:nowrap}
.intro-scan{position:absolute;z-index:11;left:0;right:0;top:-2px;height:2px;background:rgba(183,109,126,.88);box-shadow:0 0 18px rgba(183,109,126,.42);opacity:0;animation:introScan 1.15s 1.34s cubic-bezier(.36,.02,.18,1) both}


.intro-tear{position:absolute;left:-12vw;right:-12vw;z-index:12;height:clamp(22px,3.3vh,42px);opacity:0;mix-blend-mode:screen;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.96) 12%,rgba(183,109,126,1) 44%,rgba(255,255,255,.55) 71%,rgba(255,255,255,0) 100%);box-shadow:0 0 36px rgba(183,109,126,.42),0 0 90px rgba(255,255,255,.16)}
.intro-tear::before,.intro-tear::after{content:"";position:absolute;inset:0;background:inherit;opacity:.55}.intro-tear::before{transform:translateX(-32px)}.intro-tear::after{transform:translateX(26px);opacity:.3}
.intro-tear-a{top:17vh;animation:introTearA .32s .96s steps(2,end) both}.intro-tear-b{top:31vh;animation:introTearB .28s 1.20s steps(2,end) both}.intro-tear-c{top:47vh;animation:introTearC .34s 1.46s steps(2,end) both}.intro-tear-d{top:58vh;animation:introTearD .28s 1.74s steps(2,end) both}.intro-tear-e{top:70vh;animation:introTearE .32s 2.00s steps(2,end) both}.intro-tear-f{top:82vh;animation:introTearF .26s 2.26s steps(2,end) both}
.intro-impact{position:absolute;inset:-6%;z-index:13;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.98) 0%,rgba(187,238,255,.72) 18%,rgba(103,158,255,.24) 38%,rgba(255,255,255,0) 56%),linear-gradient(180deg,rgba(255,255,255,.0) 0%,rgba(255,255,255,.14) 18%,rgba(183,109,126,.18) 51%,rgba(255,255,255,.09) 76%,rgba(255,255,255,0) 100%);mix-blend-mode:screen;filter:saturate(115%);animation:introImpact .66s 2.10s steps(2,end) both}
.intro-impact::before,.intro-impact::after{content:"";position:absolute;left:-5%;right:-5%;height:20%;background:rgba(255,255,255,.22);filter:blur(9px)}.intro-impact::before{top:24%;transform:translateX(-8vw)}.intro-impact::after{top:56%;transform:translateX(9vw)}
.intro-blocks{position:absolute;inset:0;z-index:14;pointer-events:none}.intro-block{position:absolute;display:block;background:#f6f6f6;opacity:0;mix-blend-mode:normal;box-shadow:0 0 0 1px rgba(255,255,255,.2) inset,0 0 44px rgba(255,255,255,.18)}
 .block-a{left:0;top:21%;width:13vw;height:16vh;animation:introBlockA .58s 1.90s steps(2,end) both} .block-b{left:10vw;top:1%;width:18vw;height:18vh;animation:introBlockB .62s 1.98s steps(2,end) both}.block-c{left:21vw;top:10%;width:8vw;height:22vh;animation:introBlockC .56s 2.06s steps(2,end) both} .block-d{left:31vw;top:2%;width:26vw;height:14vh;animation:introBlockD .54s 2.10s steps(2,end) both} .block-e{right:18vw;top:0;width:19vw;height:15vh;animation:introBlockE .62s 1.92s steps(2,end) both}.block-f{right:3vw;top:2%;width:5vw;height:6vh;animation:introBlockF .50s 2.18s steps(2,end) both} .block-g{right:0;top:24%;width:17vw;height:20vh;animation:introBlockG .58s 1.96s steps(2,end) both} .block-h{left:0;top:70%;width:14vw;height:14vh;animation:introBlockH .52s 2.10s steps(2,end) both}.block-i{left:14vw;bottom:0;width:5vw;height:6vh;animation:introBlockI .54s 2.16s steps(2,end) both}.block-j{left:31vw;bottom:0;width:10vw;height:11vh;animation:introBlockJ .56s 2.00s steps(2,end) both} .block-k{left:47vw;bottom:0;width:20vw;height:13vh;animation:introBlockK .58s 2.12s steps(2,end) both} .block-l{right:9vw;bottom:9%;width:12vw;height:17vh;animation:introBlockL .50s 2.18s steps(2,end) both}.block-m{right:0;bottom:8%;width:7vw;height:10vh;animation:introBlockM .48s 2.06s steps(2,end) both}.block-n{right:21vw;top:44%;width:7vw;height:10vh;animation:introBlockN .54s 2.02s steps(2,end) both}.block-o{left:64vw;top:61%;width:8vw;height:13vh;animation:introBlockO .52s 2.22s steps(2,end) both}.block-p{left:72vw;top:49%;width:4vw;height:9vh;animation:introBlockP .48s 2.26s steps(2,end) both}

.intro-curtain{position:absolute;z-index:15;inset:0;transform:translate3d(0,101%,0);will-change:transform}
.intro-curtain-paper{background:#211f20;z-index:14;animation:introDarkSwipe .70s 2.70s cubic-bezier(.77,0,.18,1) both}
.intro-curtain-pink{background:#b76d7e;z-index:15;animation:introPinkSwipe .92s 2.87s cubic-bezier(.77,0,.18,1) both}

@keyframes introMeta{to{opacity:.68}}
@keyframes introLineY{to{height:100%}}
@keyframes introLineX{to{width:100%}}
@keyframes introGrid{0%{opacity:0;transform:scale(1.045)}28%,100%{opacity:.42;transform:scale(1)}}
@keyframes introDream{0%{transform:translate3d(0,112%,0) scaleX(.68)}66%{transform:translate3d(0,0,0) scaleX(1.045)}100%{transform:translate3d(0,0,0) scaleX(1)}}
@keyframes introFactory{0%{transform:translate3d(0,-112%,0) scaleX(1.28)}66%{transform:translate3d(0,0,0) scaleX(.972)}100%{transform:translate3d(0,0,0) scaleX(1)}}
@keyframes introWordLeave{to{opacity:.06;transform:translate3d(-4.2vw,-7%,0) scaleX(.985)}}
@keyframes introWordLeaveB{to{opacity:.06;transform:translate3d(5vw,7%,0) scaleX(1.015)}}
@keyframes introFrameA{0%{opacity:0;clip-path:inset(0 100% 0 0);transform:translate3d(-10px,0,0)}20%,64%{opacity:.78;clip-path:inset(0 0 0 0);transform:none}100%{opacity:0;clip-path:inset(0 0 0 100%);transform:translate3d(10px,0,0)}}
@keyframes introFrameB{0%{opacity:0;clip-path:inset(100% 0 0 0);transform:translate3d(0,-8px,0)}20%,64%{opacity:.72;clip-path:inset(0 0 0 0);transform:none}100%{opacity:0;clip-path:inset(0 0 100% 0);transform:translate3d(0,8px,0)}}
@keyframes introFrameC{0%{opacity:0;clip-path:inset(0 0 0 100%);transform:translate3d(10px,0,0)}20%,64%{opacity:.68;clip-path:inset(0);transform:none}100%{opacity:0;clip-path:inset(0 100% 0 0);transform:translate3d(-8px,0,0)}}
@keyframes introFrameD{0%{opacity:0;clip-path:inset(0 0 100% 0);transform:translate3d(0,8px,0)}20%,64%{opacity:.66;clip-path:inset(0);transform:none}100%{opacity:0;clip-path:inset(100% 0 0 0);transform:translate3d(0,-8px,0)}}
@keyframes introMark{0%{opacity:0;transform:translate3d(0,22px,0) scale(.985)}34%,82%{opacity:1;transform:none}100%{opacity:1;transform:none}}
@keyframes introRule{to{width:min(176px,34vw)}}
@keyframes introScan{0%{opacity:0;transform:translateY(0)}12%{opacity:.72}82%{opacity:.2}100%{opacity:0;transform:translateY(100vh)}}
@keyframes introDarkSwipe{0%{transform:translate3d(0,101%,0)}55%,100%{transform:translate3d(0,0,0)}}
@keyframes introPinkSwipe{0%{transform:translate3d(0,101%,0)}47%{transform:translate3d(0,0,0)}100%{transform:translate3d(0,-101%,0)}}
@keyframes introExit{0%,94%{visibility:visible;opacity:1}100%{visibility:hidden;opacity:0}}


@keyframes introGlitchWordA{0%,100%{filter:none;text-shadow:none}18%{transform:translateX(-30px) skewX(-2deg);text-shadow:36px 0 rgba(183,109,126,.64),-24px 0 rgba(255,255,255,.22)}52%{transform:translateX(24px) skewX(1deg);text-shadow:-30px 0 rgba(183,109,126,.52),18px 0 rgba(255,255,255,.2)}76%{transform:translateX(-12px)}}
@keyframes introGlitchWordB{0%,100%{filter:none;text-shadow:none}22%{transform:translateX(28px) skewX(2deg);text-shadow:-36px 0 rgba(183,109,126,.66),24px 0 rgba(255,255,255,.24)}58%{transform:translateX(-25px) skewX(-1deg);text-shadow:30px 0 rgba(183,109,126,.5),-20px 0 rgba(255,255,255,.22)}84%{transform:translateX(9px)}}
@keyframes introGhostA{0%,100%{opacity:0;transform:none}18%{opacity:.95;transform:translateX(-44px)}52%{opacity:.74;transform:translateX(24px)}}
@keyframes introGhostB{0%,100%{opacity:0;transform:none}18%{opacity:.58;transform:translateX(32px)}52%{opacity:.42;transform:translateX(-18px)}}
@keyframes introGhostC{0%,100%{opacity:0;transform:none}22%{opacity:.94;transform:translateX(42px)}58%{opacity:.78;transform:translateX(-26px)}}
@keyframes introGhostD{0%,100%{opacity:0;transform:none}22%{opacity:.56;transform:translateX(-30px)}58%{opacity:.4;transform:translateX(20px)}}
@keyframes introMarkGlitch{0%,100%{transform:none;text-shadow:none}24%{transform:translateX(-14px);text-shadow:22px 0 rgba(183,109,126,.54),-16px 0 rgba(255,255,255,.2)}58%{transform:translateX(12px);text-shadow:-24px 0 rgba(183,109,126,.44),14px 0 rgba(255,255,255,.18)}}
@keyframes introTaglineGlitch{0%,100%{transform:none;text-shadow:none}28%{transform:translateX(9px);text-shadow:-18px 0 rgba(183,109,126,.42),12px 0 rgba(255,255,255,.18)}64%{transform:translateX(-8px);text-shadow:16px 0 rgba(183,109,126,.36),-10px 0 rgba(255,255,255,.16)}}
@keyframes introTearA{0%{opacity:0;transform:translateX(-7vw) skewX(-12deg)}18%{opacity:.95}100%{opacity:0;transform:translateX(6vw) skewX(12deg)}}
@keyframes introTearB{0%{opacity:0;transform:translateX(6vw) skewX(10deg)}18%{opacity:.92}100%{opacity:0;transform:translateX(-5vw) skewX(-10deg)}}
@keyframes introTearC{0%{opacity:0;transform:translateX(-8vw)}18%{opacity:1}100%{opacity:0;transform:translateX(7vw)}}
@keyframes introTearD{0%{opacity:0;transform:translateX(7vw)}18%{opacity:.9}100%{opacity:0;transform:translateX(-6vw)}}
@keyframes introTearE{0%{opacity:0;transform:translateX(-6vw) skewX(-9deg)}18%{opacity:.96}100%{opacity:0;transform:translateX(5vw) skewX(9deg)}}
@keyframes introTearF{0%{opacity:0;transform:translateX(5vw)}18%{opacity:.85}100%{opacity:0;transform:translateX(-5vw)}}
@keyframes introImpact{0%{opacity:0;transform:scale(1)}14%{opacity:1;transform:scale(1.11)}34%{opacity:.98;transform:scale(.96)}68%{opacity:.88;transform:scale(1.03)}100%{opacity:0;transform:scale(1.01)}}


.intro-mosaic{position:absolute;inset:0;z-index:15;pointer-events:none;overflow:hidden}.mosaic-cell{position:absolute;background:#f5f5f5;opacity:0;box-shadow:0 0 0 1px rgba(255,255,255,.18) inset,0 0 30px rgba(255,255,255,.12);will-change:transform,opacity}.mosaic-cell.alt{background:#fbfbfb}.mosaic-cell.ghost{background:rgba(255,255,255,.92)}
@keyframes introBlockA{0%,100%{opacity:0;transform:translateX(0)}20%{opacity:1;transform:translateX(1.5vw)}}@keyframes introBlockB{0%,100%{opacity:0;transform:translateX(0)}24%{opacity:1;transform:translateX(-1vw)}}@keyframes introBlockC{0%,100%{opacity:0;transform:translateY(0)}28%{opacity:1;transform:translateY(1vh)}}@keyframes introBlockD{0%,100%{opacity:0;transform:translateX(0)}26%{opacity:1;transform:translateX(2vw)}}@keyframes introBlockE{0%,100%{opacity:0;transform:translateX(0)}20%{opacity:1;transform:translateX(-1.4vw)}}@keyframes introBlockF{0%,100%{opacity:0}30%{opacity:1}}@keyframes introBlockG{0%,100%{opacity:0;transform:translateX(0)}25%{opacity:1;transform:translateX(-1.8vw)}}@keyframes introBlockH{0%,100%{opacity:0;transform:translateX(0)}22%{opacity:1;transform:translateX(1vw)}}@keyframes introBlockI{0%,100%{opacity:0}25%{opacity:1}}@keyframes introBlockJ{0%,100%{opacity:0;transform:translateY(0)}26%{opacity:1;transform:translateY(-1vh)}}@keyframes introBlockK{0%,100%{opacity:0;transform:translateY(0)}24%{opacity:1;transform:translateY(-1.3vh)}}@keyframes introBlockL{0%,100%{opacity:0;transform:translateX(0)}22%{opacity:1;transform:translateX(-1vw)}}@keyframes introBlockM{0%,100%{opacity:0}26%{opacity:1}}@keyframes introBlockN{0%,100%{opacity:0;transform:translateY(0)}26%{opacity:1;transform:translateY(1vh)}}@keyframes introBlockO{0%,100%{opacity:0;transform:translateY(0)}24%{opacity:1;transform:translateY(-1vh)}}@keyframes introBlockP{0%,100%{opacity:0}25%{opacity:1}}
@keyframes introMosaicChunk{0%,100%{opacity:0;transform:translate3d(0,0,0) scale(1)}14%{opacity:1}38%{opacity:1;transform:translate3d(var(--sx),var(--sy),0) scale(1.02)}68%{opacity:.96;transform:translate3d(calc(var(--sx) * -0.3),calc(var(--sy) * -0.25),0) scale(.98)}100%{opacity:0;transform:translate3d(0,0,0) scale(1)}}
@media (max-width:980px){
  .intro-word{height:clamp(118px,22vh,210px)}
  .intro-word span{font-size:clamp(90px,18.8vw,235px);line-height:.92}
  .intro-word-dream{padding-left:3vw}.intro-word-factory{padding-left:9vw}
  .intro-frame-a{left:4vw;top:17vh;width:20vw}.intro-frame-b{right:4vw;top:13vh;width:22vw}
  .intro-frame-c{left:24vw;bottom:8vh;width:20vw}.intro-frame-d{right:17vw;bottom:9vh;width:18vw}
}
@media (max-width:820px){
  .intro-grid{background-size:25vw 16.66vh}.intro-edge{inset:12px}.intro-meta-right{display:none}
  .intro-word{height:clamp(98px,17.5vh,150px)}.intro-word span{font-size:clamp(76px,21vw,145px);line-height:.94}
  .intro-word-dream{padding-left:5vw}.intro-word-factory{padding-left:3vw}
  .intro-frame small{display:none}
  .intro-frame-a{left:5vw;top:18vh;width:31vw;height:21vh}.intro-frame-b{right:5vw;top:24vh;width:29vw;height:19vh}
  .intro-frame-c{left:8vw;bottom:12vh;width:28vw;height:18vh}.intro-frame-d{right:7vw;bottom:11vh;width:27vw;height:18vh}
  .intro-mark{width:86vw}.intro-mark::before{inset:-30px -24px}.intro-mark-cn{font-size:clamp(38px,11vw,54px)}
  .intro-meta,.intro-count{left:18px}.intro-meta{top:20px}.intro-count{bottom:20px}
}
@media (max-width:430px){
  .intro-word{height:clamp(84px,15vh,118px)}.intro-word span{font-size:clamp(68px,20.5vw,100px);line-height:.95}
  .intro-word-factory{padding-left:2vw}
  .intro-frame-a{left:5vw;top:19vh;width:34vw;height:18vh}.intro-frame-b{right:5vw;top:25vh;width:31vw;height:17vh}
  .intro-frame-c{left:6vw;bottom:13vh;width:31vw;height:17vh}.intro-frame-d{right:6vw;bottom:12vh;width:30vw;height:17vh}
  .intro-mark-cn{font-size:40px}.intro-mark-en{font-size:8px;letter-spacing:.42em;margin-left:.42em}.intro-mark strong{font-size:14px;letter-spacing:.20em;margin-left:.20em}
  .intro-count span{font-size:32px}.intro-count b{font-size:7px}
}
@media (prefers-reduced-motion:reduce){
  .play-intro .brand-intro{animation:introExit .22s both}.brand-intro *{animation:none!important}
  .intro-mark{opacity:1;transform:none}.intro-mark i{width:120px}.intro-giant,.intro-frame,.intro-grid,.intro-meta,.intro-count,.intro-edge,.intro-scan{display:none}
}

@media (max-width:980px){.intro-blocks{transform:scale(.9);transform-origin:center}.block-d,.block-k,.block-e{width:20vw}.block-a,.block-g{width:12vw}}

@media (max-width:980px){.mosaic-cell{opacity:0.92}}
